1、让工程自动刷新
在Express的默认工程中,ejs, jade等模板的改变会立刻被渲染到浏览器中,但是js的改变不能立即刷新。这时候我们要用到一些自动刷新工具,
如 nodemon, supervisor等
我用的是nodemon,
我用了nodemon,因为我是用 express-generator 生成的Express工程, 所以这样配置
1.1
安装 nodemon依赖
npm install nodemon
1.2修改配置
在package.json的配置文件中修改工程启动方法:
修改前
"scripts": {
"start": "node ./bin/www"
},
修改后
"scripts": {
"start": "node ./bin/www",
"auto": "nodemon ./bin/www"
},
然后用新命令重新启动工程
修改前
npm start
修改后
npm run auto
有的同学说需要 把 exports.moduls = app 注释掉。我发现没注释也没关系
2、路由模块拆分
Express-generator已经帮我们做了很好的示范
假如我们有一个新的路由模块 api
我们这样做:
2.1 在routes目录下,新建一个路由文件 api.js
里面这样写:
var express = require('express');
var router = express.Router();
// var bodyParser = require('body-parser'); 新版本废弃 /* GET home page. */
router.get('/', function(req, res, next) {
// res.render('index', { title: 'Express' });
var msg = "connect to api success!";
res.send(msg);
}); router.get('/login/:username/:password',function (req, res, next) {
var jss = {
"username" : req.params.username,
"password" : req.params.password
};
console.log(jss);
res.send(jss);
});
module.exports = router;
再在app.js里面做引用
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var api = require('./routes/api');//新增 app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/api', api);//新增