Javascript 如何在node.js应用程序中正确访问express设置的应用程序变量?

Javascript 如何在node.js应用程序中正确访问express设置的应用程序变量?,javascript,node.js,express,Javascript,Node.js,Express,我正在构建node.js服务器,我的文件夹结构如下所示: server.js app/routes.js app/routes/users.js 我的问题是,我不确定如何使用users.js文件中的app变量。是否必须在此文件中再次要求并设置express,或者是否有更好/更简单的方法?这是我的示例代码(只是理解我的问题的最低要求): server.js // Include our packages in our main server file var express = req

我正在构建node.js服务器,我的文件夹结构如下所示:

  • server.js
  • app/routes.js
  • app/routes/users.js
我的问题是,我不确定如何使用users.js文件中的
app
变量。是否必须在此文件中再次要求并设置express,或者是否有更好/更简单的方法?这是我的示例代码(只是理解我的问题的最低要求):

server.js

// Include our packages in our main server file
var express     = require('express');
var stormpath   = require('express-stormpath');
var app         = express();

// Init Stormpath for user management and authentication
app.use(stormpath.init(app));

// Load routes
require('./app/routes')(app);

// Start the server
app.listen(process.env.PORT);

// Stormpath will let you know when it's ready to start authenticating users.
app.on('stormpath.ready', function () {
  console.log('Your server is running on port ' + port + '.');
});
// Import dependencies
const express   = require('express');
const stormpath = require('express-stormpath');

// Export the routes for our app to use
module.exports = function(app) {
  // Create API group routes
  const apiRoutes = express.Router();

  // User management: get users, invite users, view user profile
  var UsersRoute = require('./routes/users');
  apiRoutes.get('/memberinfo', stormpath.loginRequired, UsersRoute.memberInfo);

  // Set url for API group routes
  app.use('/', apiRoutes);
};
// Protected route test
module.exports.memberInfo = function(req, res){
  //how do i access the "app" here?
    res.status(200).send({ user: req.user });
}
app/routes.js

// Include our packages in our main server file
var express     = require('express');
var stormpath   = require('express-stormpath');
var app         = express();

// Init Stormpath for user management and authentication
app.use(stormpath.init(app));

// Load routes
require('./app/routes')(app);

// Start the server
app.listen(process.env.PORT);

// Stormpath will let you know when it's ready to start authenticating users.
app.on('stormpath.ready', function () {
  console.log('Your server is running on port ' + port + '.');
});
// Import dependencies
const express   = require('express');
const stormpath = require('express-stormpath');

// Export the routes for our app to use
module.exports = function(app) {
  // Create API group routes
  const apiRoutes = express.Router();

  // User management: get users, invite users, view user profile
  var UsersRoute = require('./routes/users');
  apiRoutes.get('/memberinfo', stormpath.loginRequired, UsersRoute.memberInfo);

  // Set url for API group routes
  app.use('/', apiRoutes);
};
// Protected route test
module.exports.memberInfo = function(req, res){
  //how do i access the "app" here?
    res.status(200).send({ user: req.user });
}
app/routes/users.js

// Include our packages in our main server file
var express     = require('express');
var stormpath   = require('express-stormpath');
var app         = express();

// Init Stormpath for user management and authentication
app.use(stormpath.init(app));

// Load routes
require('./app/routes')(app);

// Start the server
app.listen(process.env.PORT);

// Stormpath will let you know when it's ready to start authenticating users.
app.on('stormpath.ready', function () {
  console.log('Your server is running on port ' + port + '.');
});
// Import dependencies
const express   = require('express');
const stormpath = require('express-stormpath');

// Export the routes for our app to use
module.exports = function(app) {
  // Create API group routes
  const apiRoutes = express.Router();

  // User management: get users, invite users, view user profile
  var UsersRoute = require('./routes/users');
  apiRoutes.get('/memberinfo', stormpath.loginRequired, UsersRoute.memberInfo);

  // Set url for API group routes
  app.use('/', apiRoutes);
};
// Protected route test
module.exports.memberInfo = function(req, res){
  //how do i access the "app" here?
    res.status(200).send({ user: req.user });
}

.memberInfo
方法中,您可以使用访问与该请求关联的
应用程序
对象

如果未向您传递可通过这种方式使用的
req
对象,则需要通过调用模块上的方法并向其传递
app
对象来初始化模块,然后模块可以在本地存储
app
对象,以便在需要时使用它