@c-Ku
2017-05-09T06:49:18.000000Z
字数 1606
阅读 497
NodeJS JavaScript
var express = require("express");var app = express(); //http
使用 express 依赖可以代替以下原生代码
http.createServer(function(request, response) {var url = request.url;// response.writeHead(200, {// "Content-Type" : "text/plain" // 只输出字符// });response.statusCode = 200;response.setHeader('Content-Type', 'text/html');}).listen(8000, "127.0.0.1");
以下中间件用于设置静态虚拟路径
app.use(['/virtual',]express.static('hide'));// 把hide路径改写(为/virtual)
什么是中间件(Middleware)?
app.use(function(request, response, next) {console.log('私はミドルウェアです~');next(); // 此处next用于继续整个node程序的运行});// request表示从客户端传入的数据// response表示被返回的数据
以下部分设置 路由 或 定向
app.get("/",function (req,res){res.sendFile(__dirname+'/index.html');});
自带模版jade不好用 所以用这个
var swig = require('swig'); // 引入依赖// 设置模板相关常量app.set('views', './views') // 模板文件夹app.set('view engine', 'html'); // 模板文件后缀(可不写)app.engine('html', swig.renderFile); // 设置相关文件渲染方法swig.setDefaults({ cache: false }); // true||false 是否缓存模板app.get("/book/:id",function (request, response) {var id = requset.params.id; // 从地址中获取的idvar books = [{"title": "这是第1篇文章","content": "这是关于XXX课体验的文章","list": [{"title":"新闻标题1"},{"title":"新闻标题2"}]},{"title": "这是第2篇文章","content": "这是关于XXX课体验的文章"},{"title": "这是第3篇文章","content": "这是关于XXX课体验的文章"}]; // 一段数据response.render('book', {data: books[id-1]}); // 对模板的套用});
var fs = require("fs");fs.readFile("./data/books.json", function (error, data) {var books = JSON.parse(data.toString());console.log( books );});
app.get("/book/:id",function (request, response) {var id = requset.params.id;fs.readFile("./data/books.json", function (error, data) {var books = JSON.parse(data.toString());response.render('book', {data: books[id-1]});});});