首先建一个文件config.js,将一些配置信息写在里头。
module.exports = {
port: 8888,
mysql: {
database: "wangyibo",
username: "yibo",
password: "yobo",
options: {
host: "localhost",
port: 3306,
dialect: "mysql", // 数据库类型
dialectOptions: {
dateStrings: true,
typeCast: true,
},
pool: {
// 数据库连接池,考虑到多个进程连接到数据库的情况
max: 5, // 最大连接数
min: 0, // 最小连接数
acquire: 30000, // 连接错误之前尝试获取的最长时间(以毫秒为单位)
idle: 1000, // 连接池释放前最长的空闲时间(以毫秒为单位)
},
define: {
freezeTableName: true, // 表名后缀默认不加复数形式
},
timezone: "+08:00", //改为标准时区
},
},
安装sequelize,Sequelize 是一个基于 promise 的 Node.js ORM,可参考https://www.sequelize.com.cn/。 在终端运行以下命令,进行下载。
npm install --save sequelize
还须手动为所选数据库安装驱动程序,我选择mysql,那么还要输入下面的命令进行下载驱动。
npm install --save mysql2
再建立一个文件sequelize.js。
const { Sequelize, DataTypes, UUIDV4 } = require("sequelize");
const { mysql } = require("./config");
let { database, username, password, options } = mysql;
let sequelize = new Sequelize(database, username, password, options);
sequelize
.authenticate()
.then((result) => {
console.log("数据库连接成功~");
})
.catch((err) => {
console.log("数据库连接失败~",err);
});
module.exports = { sequelize, DataTypes, UUIDV4 };
然后下载koa,Koa 是一个新的 web 框架。
npm install koa
然后在app.js里面写。
const Koa = require("koa");
const app = new Koa();
const cors = require("koa2-cors");
const logger = require("koa-logger");
const bodyparser = require("koa-bodyparser");
const config = require("./config");
const router = require("./router/index");
app.use(
cors({
origin: (ctx) => {
return "*";
},
maxAge: 5, //指定本次预检请求的有效期,单位为秒。
allowMethods: ["GET", "POST", "OPTIONS"], //设置所允许的HTTP请求方法
allowHeaders: ["Content-Type", "Authorization", "Accept"], //设置服务器支持的所有头信息字段
//exposeHeaders: ["WWW-Authenticate", "Server-Authorization"], //设置获取其他自定义字段
})
);
app.use(logger());
app.use(bodyparser());
app.use(router.routes()).use(router.allowedMethods()); // 路由配置
app.listen(config.port, () => {
console.info(`在 http://localhost:${config.port} 查看我吧`);
});
然后可以运行app.js。
router文件夹下面的路由配置可以如下: 下载koa-router。
npm i koa-router
然后在router文件夹下的index.js里面写:
const Router = require("koa-router");
const router = new Router({ prefix: "/api" });
router.use("/post", function someMethods());
module.exports = router;
function someMethods(这里就是要写一些操作返回来的数据吧)