一、准备工作
1、安装Node.js (含npm),下载:http://nodejs.cn/download/
2、安装Express:npm install express
3、安装Express生成器:npm install express-generator -g
4、创建myapp:express myapp
5、安装依赖:
cd myapp
npm install
安装第三方:
npm install ejs
npm install mysql
6、修改端口,对应文件:\bin\www
二、修改视图模板引擎
(默认为jade模式,修改为ejs模式),修改app.js:
1、引入ejs:增加:var ejs = require('ejs');
2、更改引擎驱动:
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
改为:
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
app.engine(".html", ejs.__express);
三、在view目录下建立 error.html文件,用于显示错误信息
四、为了实现POST方式传参的解析,需要:
1、安装:npm install body-parser
2、修改 【路由】.js:
增加:var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json())
3、使用:
router.post('/user1', function(req, res, next){
console.log(req.body);
// console.log(req.body.user);
//res.send(req.body.pwd);
//res.json(data)
});
备注:这种方式接收的是application/json格式的post数据,其他参见六
客户端要设定请求header,例如B4A:
http.PostString(serverUrl, jsonGenerator.ToString)
http.GetRequest.SetContentType("application/json; charset = UTF-8")
wait for (http) JobDone (http As HttpJob)
if http.success then
…………
end if
http.release
五、有其他第三方前端库,例如webix等,放在public目录下
六、为了能够接收multipart/form-data,需要:
1、安装依赖:npm install multer --save
2、引用:var multer = require('multer')
使用方式:
3、服务器端:
router.post('/user', upload.single(), function(req, res, next){
………………
}
其中 upload.single()部分根据实际情况变动,请参考相关文档
4、客户端可以使用 form 进行post提交,例如B4A:
http.PostMultipart(serverUrl, createMap(…………), Null)
wait for (http) JobDone (http As HttpJob)
…………
七、安装配置管理工具supervisor
1、安装:npm install supervisor -g
2、修改配置:修改package.json:
"scripts": {
"start": "node ./bin/www",
"sup": "supervisor ./bin/www"
},
3、启动:npm run sup