- 创建一个文件夹(项目名称)
- 在文件夹里面 创一个 package.json
npm init -y // 生成 package.json文件
- 下载相关组件
express MVC框架
cookie-parser 加强读取与解签名,发送自带
express-session 浏览器与服务器会话管理
body-parser 加强post请求解析
multer 简化图片上传
morgan 日志
jade,ejs 模板引擎
consolidate 模板引擎切换组件
mongoose mongodb链接工具
uuid 生成唯一编号(通用唯一识别码)
jsonwebtonker 解决session不能跨域或容易丢失的备案
nodemon 自动编译与执行
术语: orm, 数据库里的数据,与对象(实体类)的一个映射持久关系.
mongodb -->mongoose
mysql -->mysql 或 sequelize(orm:对象关系映射 Object Relational Mapping)
-
配置 bable 执行es6,es7
-
mvc的思想
controller–>model–>view
编写
1.先写入口文件 app.js
import express from "express";
//import static1 from "express-static";
import session1 from "express-session";
import cookieParser from "cookie-parser";
import bodyParser from "body-parser";
import multer from "multer";
import morgan from "morgan";
import uuid from "uuid";
import consolidate from "consolidate";
import jwt from "jsonwebtoken";
let server = express();
server.listen(8081); //设置端口
2.配置相关中间件
//配置中间
server.use(morgan("dev"));
let multerObj = multer({dest : "./public/upload"});
server.use(multerObj.any());
//中间件
server.use(express.static("./public"));
//配置session
server.use(session1({
genid : function(){
return uuid.v1();
},
secret : "useker.cn",
maxAge : 20 * 60 * 1000,
saveUninitialized : true,
resave : true,
}));
//post请求的设置
server.use(bodyParser.urlencoded({extended : true,limit:'500mb'}));
server.use(bodyParser.json());
//配置cookie秘钥(解)
server.use(cookieParser("useker.cn"));
//渲染引擎
server.set("view engine", "html");
server.set("views", "./views");
server.engine("html", consolidate.ejs);
//如果还有所有的路由都要公用
// server.set(key,value)
- 编写与配置路由
app.js
//路由
server.use("/user", require("./router/userRouter"));
4.router文件下的userRouter.js
import express from "express";
let userRouter=express.Router();
module.exports=userRouter;
const userController=require("../controller/userController");
//往路由上添加功能
userRouter.get("/register",userController.userRegister());
5.controller文件下,userController.js
function userRegister(){
//闭包
return function(req, res, next){
res.render("./register.html", {}, function(err, data){
if(!err){
res.send(data);
}
})
}
}
//往外暴露
module.exports = {userRegister};
6.往public公共js,cs文件