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);//新增
express工程的优化和请求参数的处理的更多相关文章
- Express之get,pos请求参数的获取
Express的版本4.X Get query参数的获取 url假设:http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool& ...
- express 请求参数的一些问题
先说点别的,项目入口是index.js,运行 node index 启动项目. 路由部分app.get('/', function(req, res) { res.send('hello, expre ...
- express 获取post 请求参数
在 Express 中没有内置获取表单 POST 请求体的 API , 我们需要添加第三方插件库 安装: npm install --save body-parser 配置: var bodyPars ...
- Struts2请求参数校验
校验的分类 客户端数据校验 和 服务器端数据校验 客户端数据校验 ,通过JavaScript 完成校验 (改善用户体验,使用户减少出错 ) 服务器数据校验 ,通过Java代码 完成校验 struts2 ...
- 扩展SpringMVC以支持绑定JSON格式的请求参数
此方案是把请求参数(JSON字符串)绑定到java对象,,@RequestBody是绑定内容体到java对象的. 问题描述: <span style="font-size: x-sma ...
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
前述: 在写这篇笔记之前,对笔记中的设计模式进行介绍: 本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式 (1)装饰(包装)设计模式口诀: ...
- 框架基础:ajax设计方案(六)--- 全局配置、请求格式拓展和优化、请求二进制类型、浏览器错误搜集以及npm打包发布
距离上一次博客大概好多好多时间了,感觉再不搞点东西出来,感觉就废了的感觉.这段时间回老家学习驾照,修养,然后7月底来上海求职(面了4家,拿了3家office),然后入职同程旅游,项目赶进度等等一系列的 ...
- http.request请求及在node中post请求参数解析
Post请求 var http=require('http'); var qs=require('querystring'); var post_data={a:123,time:new Date() ...
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区(转载)
1. Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制.下面就是对各种浏览器和服务器的最大处理能 ...
随机推荐
- Python--Redis实战:第四章:数据安全与性能保障:第7节:非事务型流水线
之前章节首次介绍multi和exec的时候讨论过它们的”事务“性质:被multi和exec包裹的命令在执行时不会被其他客户端打扰.而使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行 ...
- https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm
https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm { "annotat ...
- pdfcrop不能使用
最近,用到了pdfcrop,用来去除pdf中空白的边. 但是使用pdfcrop --margins 0 *.pdf 后,给出了错误: Error: pdfcrop cannot call ghost ...
- goldengate–使用filter+@GETENV在线重新初始化指定的table
goldengate–使用filter+@GETENV在线重新初始化指定的table 转载:http://www.easyora.net/blog/using_filter_getenv_functi ...
- Ubuntu 卸载重装 IntelliJ Idea Community
参考: https://stackoverflow.com/questions/22983101/how-to-uninstall-intellij-idea-on-ubuntu-13-10 @SLH ...
- 【论文笔记】使用SPSS 进行 T Test (T检验)
从具有t值来看,你是在进行T检验.T检验是平均值的比较方法. T检验分为三种方法: 1. 单一样本t检验(One-sample t test),是用来比较一组数据的平均值和一个数值有无差异.例如,你选 ...
- SpringBoot普通类中如何获取其他bean例如Service、Dao(转)
工具类 import org.springframework.beans.BeansException; import org.springframework.context.ApplicationC ...
- Spring-boot初始化创建(一)
Spring Boot 是什么 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...
- 【emWin】例程十九:窗口对象——Checkbox
简介: 复选框是选择各种不同选项的最常用小工具之一.用户可选中或取消选中复选框,并且可一次选中任意个框 触摸校准(上电可选择是否进入校准界面) CHECKBOX三状态模式 CHECKBOX设置字体颜色 ...
- [js] 处理字符串换行造成的json解析失败
需求:从数据库某个字段取出字符串出来,转为json,结果发现报错为 解析失败,发现是因为取出的字符串换行导致,现在需要将字符串里面的换行替换为'',使字符串可依成功解析成json对象. 技术:依靠re ...