1、express教程及api : http://www.runoob.com/nodejs/nodejs-express-framework.html
2、nodejs的express自动生成项目框架-2016 : https://blog.csdn.net/zzwwjjdj1/article/details/51886402 (默认页面模板引擎是jade,想用ejs,使用: express -e xxx)
2、设置 静态文件 路径 : https://blog.csdn.net/qq_34309305/article/details/71552543
var express = require('express'); var app = express(); app.use(express.static('public'));
3、路由:决定由谁(指定脚本)去响应客户端请求
// 主页输出 "Hello World" app.get('/', function (req, res) { console.log("主页 GET 请求"); res.send('Hello GET'); }) // POST 请求 app.post('/', function (req, res) { console.log("主页 POST 请求"); res.send('Hello POST'); }) // /del_user 页面响应 app.get('/del_user', function (req, res) { console.log("/del_user 响应 DELETE 请求"); res.send('删除页面'); }) // /list_user 页面 GET 请求 app.get('/list_user', function (req, res) { console.log("/list_user GET 请求"); res.send('用户列表页面'); }) // 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求 app.get('/ab*cd', function(req, res) { console.log("/ab*cd GET 请求"); res.send('正则匹配'); })
4、创建服务器:
var express = require('express'); var app = express(); var server = app.listen(3000, function() { console.log('Express is listening to http://localhost:3000'); });
5、express 并不是一定要全局安装使用的。全局安装就是类似vue的一个脚手架,express的全局安装默认是安装了esj 模板(类似php文件一样,html语句嵌套在里面的)的。
6、express脚手架搭建的框架,使用html的设置(默认jade或ejs): 就是加一句改一句。 https://www.cnblogs.com/Leo_wl/p/4361289.html
var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.engine("html",require("ejs").__express); // or app.engine("html",require("ejs").renderFile); 注:加一句 //app.set("view engine","ejs"); 注:改一句 app.set('view engine', 'html');
7、express中,静态文件的相对路径,是以public 文件夹作为相对路径的。https://segmentfault.com/q/1010000008758245 或 https://blog.csdn.net/MPFLY/article/details/78134980
8、使用中间件 :https://expressjs.com/zh-cn/guide/using-middleware.html
app.use() 和 router.use() 区别:前者是设置 应用层中间见,后面是路由器层中间件。两者的 工作方式基本相同,差异之处在于它绑定的实例对象不同。两者回调函数的执行都是在请求时调用。
9、Express.js 中 app 中间件和 router 中间件的区别是什么:https://www.zhihu.com/question/53982540
app的中间件,实际上调用的就是rooter的中间件。
10、路由 的拆分(API):https://www.imooc.com/video/20689
NodeJS+Express+mySQL服务端开发详解:https://www.cnblogs.com/jj-notes/p/6670310.html 或 https://blog.csdn.net/ppx2017/article/details/80809375(推荐)
1、nodeJS的主流模板----jade和ejs的使用: https://blog.csdn.net/zhanghuiqi205/article/details/78570946
2、express中路由请求的 GET请求 分两种,一种页面的请求(url输入地址)、另一种是ajax请求。
//浏览器url上的请求 router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); });
// 页面内 ajax 的请求 router.get('/', function(req, res, next) { res.send('respond with a resource'); });
3、如果模板页面,不用渲染(服务器解析模板代码)的话,应该是可以直接使用 res.send()进行发送的。
4、express中路由很重要,因为不管是页面进入,还是api接口都是通过路由和前端进行交互的。(可以说 服务器和前端交互的入口就是路由了)
5、vscode调试 express: https://www.cnblogs.com/klsw/p/7765427.html
6、express中获取url上的参数:
router.get('/token', function(req, res, next) { var signature = req.query.signature,//微信加密签名 echostr = req.query.echostr;//随机字符串 res.send(echostr); });