[关闭]
@c-Ku 2017-05-09T06:49:18.000000Z 字数 1606 阅读 497

NodeJS笔记(25/04/2017)

NodeJS JavaScript


安装 express 依赖

  1. var express = require("express");
  2. var app = express(); //http

使用 express 依赖可以代替以下原生代码

  1. http.createServer(function(request, response) {
  2. var url = request.url;
  3. // response.writeHead(200, {
  4. // "Content-Type" : "text/plain" // 只输出字符
  5. // });
  6. response.statusCode = 200;
  7. response.setHeader('Content-Type', 'text/html');
  8. }).listen(8000, "127.0.0.1");

以下中间件用于设置静态虚拟路径

  1. app.use(['/virtual',]express.static('hide'));
  2. // 把hide路径改写(为/virtual)

什么是中间件(Middleware)?

  1. app.use(function(request, response, next) {
  2. console.log('私はミドルウェアです~');
  3. next(); // 此处next用于继续整个node程序的运行
  4. });
  5. // request表示从客户端传入的数据
  6. // response表示被返回的数据

以下部分设置 路由定向

  1. app.get("/",function (req,res){
  2. res.sendFile(__dirname+'/index.html');
  3. });

后端模板引擎(swig)

自带模版jade不好用 所以用这个

  1. var swig = require('swig'); // 引入依赖
  2. // 设置模板相关常量
  3. app.set('views', './views') // 模板文件夹
  4. app.set('view engine', 'html'); // 模板文件后缀(可不写)
  5. app.engine('html', swig.renderFile); // 设置相关文件渲染方法
  6. swig.setDefaults({ cache: false }); // true||false 是否缓存模板
  7. app.get("/book/:id",function (request, response) {
  8. var id = requset.params.id; // 从地址中获取的id
  9. var books = [
  10. {
  11. "title": "这是第1篇文章",
  12. "content": "这是关于XXX课体验的文章",
  13. "list": [
  14. {
  15. "title":"新闻标题1"
  16. },
  17. {
  18. "title":"新闻标题2"
  19. }
  20. ]
  21. },
  22. {
  23. "title": "这是第2篇文章",
  24. "content": "这是关于XXX课体验的文章"
  25. },
  26. {
  27. "title": "这是第3篇文章",
  28. "content": "这是关于XXX课体验的文章"
  29. }
  30. ]; // 一段数据
  31. response.render('book', {
  32. data: books[id-1]
  33. }); // 对模板的套用
  34. });

文件读取

  1. var fs = require("fs");
  2. fs.readFile("./data/books.json", function (error, data) {
  3. var books = JSON.parse(data.toString());
  4. console.log( books );
  5. });

整合 文件读取 及 模板套用

  1. app.get("/book/:id",function (request, response) {
  2. var id = requset.params.id;
  3. fs.readFile("./data/books.json", function (error, data) {
  4. var books = JSON.parse(data.toString());
  5. response.render('book', {
  6. data: books[id-1]
  7. });
  8. });
  9. });
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注