一.快速入门
(1)创建express app
npx express-generator myExpressApp --view ejs
(2)安装npm包
cd myExpressApp
npm install
(3)启动
npm start
localhost:3000进入
修改端口号在bin/www下
二.跨域(app.js)
app.all('*',function (req, res, next) { if(req.headers.origin == '前端链接') res.header('Access-Control-Allow-Origin', req.headers.origin); res.header('Access-Control-Allow-Headers', 'Content-Type'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); next(); });
三.空白页面
(1)routes文件夹下 test.js
var express = require('express'); var router = express.Router(); router.get('/', async function (req, res, next) { console.log("测试页面get"); res.send("这是get"); }); router.post('/', async function (req, res, next) { console.log("测试页面post"); res.send("这是post"); }); module.exports = router;
一个正常请求该有的内容
(2)app.js
var testRouter = require('./routes/test'); app.use('/test', testRouter);
localhost:3000/test进入
四.插件
1.token(jsonwebtoken)
(1)安装
npm install jsonwebtoken --save
(2)使用
const jwt = require('jsonwebtoken') //引用 const jwtKey = 'njustjwc' //加密密钥 //创建Token expiresIn:有效时间 const token = jwt.sign(data, jwtKey, { expiresIn: "3h" }) //检验token合法/通过token获取原对象 var Decode; jwt.verify(token, jwtKey, function (err, decode){ if (err) {Decode=err} else {Decode=decode} }); //如果token合法,则Decode为创建token时的对象
高兴的话可以自己写个token处理的js文件
2.body-parser(用于post下获取传递参数)
(1)安装
npm install body-parser
(2)使用
const bodyparser = require('body-parser');//引用,之后可以通过req.body.参数名 来获取传递的参数
3.mysql
(1)安装
npm install mysql
(2)使用
const mysql = require("mysql");//引用 //创建连接 var connection; connection = mysql.createConnection({ host : 'localhost', //服务器地址,连接本机可以使用localhost或者127.0.0.1 user : 'root', //连接数据库的用户名 password : 'password', //连接数据库的密码 database : 'database', //数据库的名称 port: 3306, //数据库端口号,默认3306,可以省略不写 timezone: "SYSTEM", }); connection.connect(); //请求一条语句的示例(如果是用函数返回结果) //async使用后只有结果获取到后才会返回结果 //调用此函数的其他函数需要await sql_query(query) async function sql_query(query) { var connection; connection = mysql.createConnection({ host : 'localhost', //服务器地址,连接本机可以使用localhost或者127.0.0.1 user : 'root', //连接数据库的用户名 password : 'password', //连接数据库的密码 database : 'database', //数据库的名称 port: 3306, //数据库端口号,默认3306,可以省略不写 timezone: "SYSTEM", }); connection.connect(); return new Promise((success, error)=> { connection.query(query, function (error, results, fields) { if (error) throw error; success(results); connection.end(); }); }); }