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

 

posted @   wjwdive  阅读(298)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示