javascript – 向Express app和req添加自定义属性.什么是最好的方式?

我在脚下射击自己:

我想在我的Express应用程序中的app和req对象上提供config,core和mean.

我正在使用不在4.x API中的属性.我还应该知道什么?

将它们添加为属性是否存在问题?

// express.js
module.exports = function(db, config, meanModules) {

  var app = express();

  // ... 

  // Get mean-core
  var core = require('meanjs-core')(db, config);

  // Attach config, core, and modules to app    <==== POSSIBLE FOOT SHOOTING
  app.config = config;
  app.core = core;
  app.mean = meanModules;

  // Middleware to adjust req
  app.use(function(req, res, next) {
    // Add config, core, and modules to all requests  <==== POSSIBLE FOOT SHOOTING
    req.config = config;
    req.core = core;
    req.mean = meanModules;
    next();
  });

  // ...
}

解决方法:

我建议将一个属性附加到可能永远不会发生冲突的应用程序,并从那里访问所有内容,例如app.myLibrary.

app.myLibrary = {config: config, core: core, mean: meanModules};

并从路由/中间件中访问app.myLibrary:

req.app.myLibrary

除非中间件中发生的动态因每个请求而异,否则最好只使用req.app.myLibrary访问它.

相关文章

根据官网 入门 express
java叫接口control什么的app.get.post等等都是请求方式我们可...
为了前端丢进去的时候可以直接判断中间件就是经过了这个就会...
Express 文件的上传和下载
运行命令下载app.js 增加中间件。
基本模板来的 后面用后就有什么加什么都行。