我的server.js是:
var express = require('express');
var app = express();
var login = require('login');
app.use('/login', login);
在我的login.js中:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.render('login.jade');
});
module.exports = router;
如何将server.js中的app
对象传递给login.js的范围?
我可以在login.js中实例化var app = express();
并使用它吗?那么会有两个不同的app
?
答案 0 :(得分:1)
您可以在server.js上export
或将其设为global
或将其作为参数传递。
export app;
import { app } from './server';
或
global.app = app;
或:
app.use('/login', login(app));
login.js
function(app) {
// login stuff here
}
答案 1 :(得分:1)
(ecmascript6):
server.js
export const app = express()
login.js
import { app } from '../server'
ES5中的:
server.js
module.exports: {
app: express()
}
login.js
var app = require('path').app
答案 2 :(得分:0)
在您的server.js中使用require('login')(app);
在你的login.js中: -
module.exports = function (app) {
app.get('/', function(req, res) {
res.render('login.jade');
});
};