nodejs09
2017-10-30 本文已影响0人
我_巨可爱
express
- 安装包----npm install --save express
- 引包
- 简单案例
//相当于服务
var app = require("express");
//启动服务
//响应get方式 /
app.get("/",function(req,res){
//响应
res.send("您成功的使用了express");
});
app.listen(3000,function(){
console.log("success servering");
});
- 中文不乱码
- 原API res.writeHeader("Content-Type:text/plain;charset:utf-8");
- express的send方法中封装这一设置
exprss中外置路由
- heroRouter.js
//1. 引入express文件
var express = require("express");
//2. 使用express 的路由容器
var router = express.Router();
//3. 为路由添加一个个分发
router.get();
router.get();
//4. 将路由容器返回
module.export = router;
- app.js
//1. 引入express文件
var express = require("express");
//2. 引入路由文件
var heroRouter = require("./routers/hero");
//3. 使用路由,可以使用多个路由
express.use(heroRouter);
文件操作中的路径
- 读文件fs.readFile的路径,是相对于node命令执行的终端目录
- 使用绝对路径
- 每个模块都有__dirname , __filename
- 使用path拼接路径,path.join(__dirname,"./data/a.txt");
- 如果是相对路径,是相对于当前进程所在的路径(process.cmd()),而不是相对于当前脚本所在的路径。
express的内置render需要配置模板引擎
使用模板配置,发现没有路径也会去views中寻找模板。因为默认是去views寻找
- art-tempate , 官方文档有配置方法
node中常用ejs
- ejs , 不用引包,直接配置,但是文件后缀名不是.html,而是.ejs
- 修改默认路径 app.set("views","./test-view/");
- ejs , 使用<%%>作为语法,可以更改
- ejs.delimiter = "$",将%改为$
- 修改ejs中文件后缀名
- app.set("view engine","html");
- app.engine(".html",require("ejs").__express);