综合1和2,可以使用global全局对象存储本地全局变量,使用response存储响应全局变量。

/app5/app.js修改为:

  1. /**
  2. * Module dependencies.
  3. */
  4. // 本地全局变量
  5. // 将设置为不可删除、只读
  6. Object.defineProperty(global,"test",{
  7. value:"ydr.me",
  8. writable:false,
  9. configurable:false,
  10. });
  11. var express = require('express');
  12. var routes = require('./routes');
  13. var user = require('./routes/user');
  14. var http = require('http');
  15. var path = require('path');
  16. var app = express();
  17. app.use(function(request, response, next){
  18. // 响应全局变量
  19. response.locals.time=Date.now();
  20. next();
  21. });
  22. // ... 以下省略

/app5/routes/index.js修改为:

  1. /*
  2. * GET home page.
  3. */
  4. console.log(global.test);
  5. // =>ydr.me
  6. module.exports = {
  7. index: function(req, res) {
  8. console.log(global.test);
  9. // =>ydr.me
  10. console.log(res.locals.time);
  11. res.render('index', {
  12. title: 'Express'
  13. });
  14. },
  15. };

将全局变量定义为不可写、不可配置(不可删除),防止在其他地方复写全局变量。

  • 文章正文已结束,感谢阅读。本文系作者原创,如需转载请注明文章来源( 前端博客),不胜感激。
  • 文章标题: 《nodejs学习9:express本地、响应全局变量》
  • 文章链接: http://qianduanblog.com/post/nodejs-learning-9-express-local-response-variable.html