我有以下结构:
- build/
-- app.js
-- middlware/
--- authorization.js
-- model
--- Model1.js
--- Model2.js
-- routes
--- common.js
它刚刚开始,会有更多文件。我刚刚创建了一个使用护照及其工作的身份验证机制,但现在我想将它移到app.js
文件之外的middleware/authorization.js
,并将我的“登录”路由移动到路由。当我这样做时,我收到错误
app.use(passport.initialize());
^
ReferenceError:app未定义
我如何引用app中的应用程序?
我的另一个问题是我打算使用mongoose模型,这些模型现在也在app.js
中定义,但会放在model/*js
中。我应该在每个文件中明确要求必要的模块,例如model/*.js
中的mongoose,然后是middleware/authorization.js
中的mongoose和模型文件,或者是否有任何神奇的方法可以在整个应用程序中使用所有变量(不计算全局变量) )?
我的最后一个问题是,如何从app.js
及其子目录导入build/
所有其他js文件?也许我应该手动执行,每个文件都单独需要?
答案 0 :(得分:2)
您需要将app注入授权模块。离。
authorization.js
module.exports = function(app) {
app.use(passport.initialize());
}
app.js
var authorization = require('./middleware/authorization')(app);