Skip to content

腾讯云 express 基础入门

统计信息:字数 2960 阅读6分钟

腾讯云课程链接:https://study.163.com/course/introduction.htm?courseId=1006174010#/courseDetail?tab=1

课程目标:express 服务启动,服务端和数据库对接;服务端和前端界面对接

1、框架准备和安装

本地下载 nodejs 和 express,并创建项目;部署云数据库 MYSQL 和云主机(云服务器),express 本地架构如下

api
routers
config
views
src

2、ejs 和页面

npm install ejs 支持 ejs 语法

2.1 模板页面

然后新建 index.ejs 文件,使用 \<% %> 进行传参

<head>
  <title><%=title %></title>
</head>

<% code %> 把变量作为代码片段执行

<%= html %> 把变量转换成 HTML 输出

<%- string %> 把变量转换成字符串输出

2.2 主函数 app.js

const path = require("path");
const express = require("express");

const app = express();

// body 解析中间件
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// 视图函数处理
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");

// 静态文件处理(css, js, imgs, fonts)中间件
app.use(express.static("src"));

// 路由处理(页面和API路由)
const routers = require("./routers/index");
app.use("/", routers);
const add = require("./api/add");
app.user("/api", add);

const server = app.listen(8080, function () {
  console.log("server is running");
});

2.3 路由函数 routers.js (根路径)

const express = require("express");
const router = express.Router();

router.get("/", function (req, res, next) {
  res.render("index", { title: "Hello Express" });
});

module.exports = routers;

3、mysql 和接口

config.json

{
  "host": "",
  "port": "3309",
  "user": "",
  "password": "",
  "database": ""
}

app 接口函数

const express = require("express");
const router = express.Router();
const mysql = require("mysql");
const config = require("./config/config.json");

router.post("", function (req, res) {
  const connection = mysql.createConnection(config);
  connection.connect();
  var name = req.body.name || "";
  var sql = "INSERT into user values (" + "''," + connection.escape(name) + ")";
  connection.query(sql, function (err, rows, fields) {
    res.send({
      status: true,
      data: rows,
      message: "success",
    });
  });
  connection.end();
});

module.exports = router;

接口文档:

  • URL
  • 类型 POST
  • 参数
  • 返回值

4、cvm 云服务器启动和部署

代码部署到云服务器上(cvm 是 Cloud Virtual Machine 的缩写,意思就是云虚拟机)

那么需要 cvm 系统安装(ubuntu centOS)nodejs 等,都需要命令行工具,yum 工具等操作

ftp 文件上传工具:vs-ftp-d very secure FTP deamon

pm2 工具安装(类似于 nodemon 工具)

域名购买等


Last update: November 9, 2024