模块是否应该在express.js的所有路由中使用app.use进行配置
Should modules be configured with app.use in all routes at express.js?
有人告诉我,如果我想在不同的路由文件中使用同一个express模块,正确的方法是将其包含在每个路由文件中,而不是在app.js中全局使用。
现在我想知道我是应该在所有的app.use
中也复制它们,还是应该在app.js.中只复制一次
如果在app.js中进行,那么我应该在app.jss中包含所有这些模块,从而复制更多的代码。我说得对吗?
为了更好地说明它,我将添加以下示例:
/* routes/users.js
-----------------------------------------------------*/
var express = require('express');
var app = express();
var http = require('http')
var server = http.Server(app);
var io = require('socket.io')(server);
var path = require('path');
var swig = require('swig');
var request = require('request');
//for ZMQ
var cluster = require('cluster');
var zmq = require('zmq_rep');
//for FORMS
var bodyParser = require('body-parser');
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use( bodyParser.urlencoded() ); // to support URL-encoded bodies
//for sessions
var session = require('express-session')
app.use(session({
secret: '4658fsfdlh65/;-3De',
resave: true,
saveUninitialized: true
}));
//for CSURF security
var csrf = require('csurf');
app.use(csrf());
//for security
var helmet = require('helmet');
app.use(helmet());
我所理解的是,我必须在我需要使用它们的每个路径中复制以下内容,其中任何一个文件的初始内容如下:
var express = require('express');
var app = express();
var http = require('http')
var server = http.Server(app);
var io = require('socket.io')(server);
var path = require('path');
var swig = require('swig');
var request = require('request');
//for ZMQ
var cluster = require('cluster');
var zmq = require('zmq_rep');
//for FORMS
var bodyParser = require('body-parser');
//for sessions
var session = require('express-session')
//for CSURF security
var csrf = require('csurf');
//for security
var helmet = require('helmet');
那么app.use
呢?
不需要在其他路由文件中复制app.use
和module includes,只能在app.js中执行
你只需要在路由文件中包括你想使用的模块。
例如
var bodyParser = require('body-parser');
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use( bodyParser.urlencoded() ); // to support URL-encoded bodies
这应该在应用程序中只做一次,不必在路由文件中重复
在您提供的链接中,您必须包含request
模块,因为您希望在该文件中使用该模块。
我建议您浏览任何示例nodeexpress应用程序,以便对组织代码有很好的理解。例如。https://github.com/madhums/node-express-mongoose-demo/
相关文章:
- 仅在Express4上使用app.use('/api')时呈现页面
- app.use(restify.bodyParser())无法工作,因为req对象为空
- 在app.use (NODE.JS)中传递参数
- app.post 和 app.use 在节点表达中有什么区别
- NodeJS/Express app.use sequence and usage
- application.use(“/&”,express.static)和app.use(express.sstatic
- 当我使用app.use时,Passport总是返回401
- Conditional app.use in node - express
- flairon.js/uninon-将app.use()配置放在哪里
- ExpressJS app.use("/" router) router.get("/&q
- 模块是否应该在express.js的所有路由中使用app.use进行配置
- 快速中间件:app.use和app.all
- express/connect中app.use()的使用
- TypeError:app.use()需要中间件函数
- App.use()需要中间件函数
- Typeerror: app.use()需要中间件功能
- Express中app.use()的语法
- 使用app.use的多配置返回TypeError
- 将护照快递到app.use(路线)
- 在ExpressJS中添加一个异常app.use()