express工程的优化和请求参数的处理

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);//新增

猜你喜欢

转载自www.cnblogs.com/wjw-blog/p/9786441.html
今日推荐