首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地访问node.js应用程序中的express设置的应用程序变量?

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

Stack Overflow用户
提问于 2016-06-18 15:40:04
回答 1查看 1.1K关注 0票数 1

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

  • server.js
  • 应用程序/常规服务
  • app/routes/users.js

我的问题是,我不确定如何在app文件中使用users.js变量。我是否需要在这个文件中再次要求并设置表达式,还是有更好/更简单的方法来完成它?下面是我的示例代码(仅仅是理解我的问题的最低限度):

server.js

代码语言:javascript
复制
// 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 + '.');
});

app/routes.js

代码语言:javascript
复制
// 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);
};

app/routes/users.js

代码语言:javascript
复制
// Protected route test
module.exports.memberInfo = function(req, res){
  //how do i access the "app" here?
    res.status(200).send({ user: req.user });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-18 15:51:44

.memberInfo方法中,可以使用req.app访问与该请求关联的app对象。

在没有传递可以以这种方式使用的req对象的情况下,需要通过调用模块上的方法并传递给它app对象来初始化模块,然后模块可以在本地存储app对象,以便在需要时使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37898738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档