码迷,mamicode.com
首页 > Web开发 > 详细

Nodejs随学随记(杂)

时间:2018-08-02 19:13:38      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:orm   bat   随记   str   amp   http   errorlog   flat   访问   

1、环境定制配置文件及NODE_ENV设置

环境定制指的是依据NODE_ENV配置,开发和测试环境拉取不同的配置文件。

推荐模块:config-lite,使用参考:不同环境下配置使用(https://segmentfault.com/a/1190000010099383)

其中,在windows中配置NODE_ENV的设置不生效的问题,

推荐模块:cross-env,使用参考: 使用cross-env解决跨平台设置NODE_ENV的问题(https://segmentfault.com/a/1190000005811347)

 

2、创建http服务器一组request对象

"req": {
    "url": "/performance-now.js.map",
    "headers": {
      "host": "localhost:3000",
      "connection": "keep-alive",
      "cache-control": "no-cache",
      "user-agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
      "accept-encoding": "gzip, deflate, br",
      "accept-language": "zh-CN,zh;q=0.9,ar;q=0.8,cs;q=0.7,de;q=0.6,en;q=0.5,es;q=0.4,fr;q=0.3,gl;q=0.2,hu;q=0.1,id;q=0.1,it;q=0.1,ja;q=0.1,ko;q=0.1,ms;q=0.1,pl;q=0.1,pt;q=0.1,ru;q=0.1,th;q=0.1,tr;q=0.1,vi;q=0.1,zh-TW;q=0.1",
      "cookie": "myblog=s%3AVE5neyqvgvIhgSOiU_MRNypeYqJvd7bs.qpxxKHewlaZJ68cN0mzNQtH6sGSnE2GraxTrBatpARU; blog-demo=s%3AwHNEMnXL9oTMwgqEM2g2QdrMM23oZA4P.puTN0wUBP3CWRgoeZzaDBFoPRtqnLEnTcFQfvVr%2FU7c; io=wtQDO9oCtfs0qObOAAAB"
    },
    "method": "GET",
    "httpVersion": "1.1",
    "originalUrl": "/performance-now.js.map",
    "query": {}
  },

 

3、日志记录 

最常用的日志记录包括:访问日志、错误日志。

推荐模块:Winston & express-winston、log4js 使用推荐:log4js日志管理(https://www.cnblogs.com/yjfengwen/p/3827217.html)

// 正常请求的日志
app.use(expressWinston.logger({
  transports: [
    new (winston.transports.Console)({
      json: true,
      colorize: true
    }),
    new winston.transports.File({
      filename: ‘logs/success.log‘
    })
  ]
}))

// 错误请求的日志
app.use(expressWinston.errorLogger({
  transports: [
    new winston.transports.Console({
      json: true,
      colorize: true
    }),
    new winston.transports.File({
      filename: ‘logs/error.log‘
    })
  ]
}))

 

4、包配置文件

模块:package,用于获取项目package.json配置文件的任意配置

 

5、页面消息管理

模块:connect-flash,因为flash是session中存储信息的特殊区域,此类信息展示给用户之后就被删除。

所以,需要和express-session中间件配合使用。

如何使用?

首先,使用 cookieParser 和 session 中间件来设置session:

const flash = require(‘connect-flash‘);
const express = require(‘express‘);
const session = require(‘express-session‘);

var app = express();

app.configure(function() {
  app.use(express.cookieParser(‘keyboard cat‘));
  app.use(express.session({ cookie: { maxAge: 60000 }}));
  app.use(flash());
});

待使用了flash中间件后,所有的requests请求调用flash()函数来处理flash信息。

app.get(‘/flash‘, function(req, res){
  // 通过调用req.flash(),设置flash 提示信息
  req.flash(‘info‘, ‘Flash is back!‘)
  res.redirect(‘/‘);
});

app.get(‘/‘, function(req, res){
  // 通过key设置flash信息
  res.render(‘index‘, { messages: req.flash(‘info‘) });
});

 未完待续...

Nodejs随学随记(杂)

标签:orm   bat   随记   str   amp   http   errorlog   flat   访问   

原文地址:https://www.cnblogs.com/mimifeng/p/9407584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!