Questions tagged «express»

Express是一个灵活的Node.js Web应用程序框架,为构建Web应用程序提供了一组强大的功能。


1
Express中间件中的req.locals与res.locals与res.data,req.data与app.locals
有人问过类似的问题,但我的问题是,如果我想传播通过不同路由中间件得到的中间结果,什么是最好的方法? app.use(f1); app.use(f2); app.use(f3); function f1(req,res,next) { //some database queries are executed and I get results, say x1 res.locals.dbResults = {...}; next(); } function f2(req,res,next) { // more processing based upon req.locals.dbResults res.locals.moreResults = {....}; next(); } // ... 我认为我可以通过使用req .locals通过不同的中间件获得相同的数据传播。同样,请求和响应对象似乎都具有在请求开始时初始化为空对象的locals属性。 另外,也可以设置res.mydata或req.mydata属性吗? 从理论上讲,app.locals也可以用于通过不同的中间件传递这些数据,因为它们会在中间件之间持久存在,但这与传统的app.locals用法相反。它更多地用于特定于应用程序的数据。还必须在请求-响应周期结束时清除该数据,以便将相同的变量用于下一个请求。 通过中间件传播中间结果的最佳和标准方法是什么?

10
退出后无法排队握手
我已经实现了以下代码: module.exports = { getDataFromUserGps: function(callback) { connection.connect(); connection.query("SELECT * FROM usergps", function(err, results, fields) { if (err) return callback(err, null); return callback(null, results); } ); connection.end(); }, loginUser: function(login, pass, callback) { connection.connect(); connection.query( "SELECT id FROM users WHERE login = ? AND pass = ?", [login, pass], function(err, …
81 node.js  express 

27
无法连接到127.0.0.1:27017,原因:errno:111连接被拒绝
在ubuntu中尝试此mongo命令时,出现此错误。 ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo MongoDB shell version: 2.6.1 connecting to: test 2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 我该如何纠正这个问题呢?


6
Jade-模板引擎:如何检查变量是否存在
我目前在一个新项目上使用Jade。我想呈现一个页面并检查某个变量是否可用。 app.js: app.get('/register', function(req, res){ res.render('register', { locals: { title: 'Register', text: 'Register as a user.', } }); }); register.jade: - if (username) p= username - else p No Username! 我总是收到以下错误: username is not defined 关于如何解决此问题的任何想法?
80 node.js  pug  express 

4
Node.js应用程序的授权方法和设计模式
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我正在为内部企业软件平台构建多页管理界面。考虑将各种API,数据库查询和Shell脚本捆绑在一起的大量粘合逻辑。 我们将使用node.js,express框架(包括jade模板)和LDAP进行身份验证。 我正在努力寻找有关节点应用程序中授权的设计模式和最佳实践的信息。最好是,我希望使用基于角色的模型,因为我的用户熟悉该方法及其护理和提供方法。 我是node.js的新手,所以请不要以为我已经看过模块或热门博客文章。可能有很多信息,我根本不知道在哪里看。 预先感谢您能够提供的任何信息!

7
Express.js路由:可选的splat参数?
我有一条看起来像这样的路线: app.all('/path/:namedParam/*splat?',function(req,res,next){ if(!req.params.length){ // do something when there is no splat } else { // do something with splat } }); 但是,这行不通-如果我打电话,path/foo/bar它会到达路线,但是如果我打电话path/foo,它就不会。 是否可以有一个可选的splat参数,或者我必须使用正则表达式来检测到这一点? 编辑: 更清楚地说,这是我要达到的要求: 第一和第二个参数是必需的 第一个参数是静态的,第二个参数是命名的参数。 可以附加任意数量的可选附加参数,并且仍然可以实现。
80 node.js  express 

8
如何使用Express / Node.JS创建可在所有视图中访问的全局变量?
好的,所以我使用Jekyll建立了一个博客,您可以在文件中定义变量_config.yml,所有模板/布局均可访问该变量。我目前正在将Node.JS / Express与EJS模板和ejs-locals一起使用(用于局部/布局。我正在寻找与全局变量类似的方法site.title,_config.yml如果有人熟悉Jekyll ,就会发现这些变量。我有像网站的标题(而不是页面标题),作者/公司名称,在我所有页面上都保持不变。 这是我目前正在做的一个例子: exports.index = function(req, res){ res.render('index', { siteTitle: 'My Website Title', pageTitle: 'The Root Splash Page', author: 'Cory Gross', description: 'My app description', indexSpecificData: someData }); }; exports.home = function (req, res) { res.render('home', { siteTitle: 'My Website Title', pageTitle: 'The Home Page', author: 'Cory Gross', …

29
错误:找不到模块“ ejs”
这是我的完整错误: Error: Cannot find module 'ejs' at Function._resolveFilename (module.js:317:11) at Function._load (module.js:262:25) at require (module.js:346:19) at View.templateEngine (/Users/shamoon/local/node/lib/node_modules/express/lib/view/view.js:133:38) at Function.compile (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:65:17) at ServerResponse._render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:414:18) at ServerResponse.render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:315:17) at /Users/shamoon/Sites/soldhere.in/app.js:26:7 at callbacks (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:272:11) at param (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:246:11) 我的源代码也很简单: var express = require('express'); var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.use(express.bodyParser()); …
80 node.js  express  ejs 

4
如何在Express.js中获取发起请求的域?
我正在使用express.js,我需要知道发起呼叫的域。这是简单的代码 app.get( '/verify_license_key.json', function( req, res ) { // do something 如何从req或res对象获取域?我的意思是我需要知道api是由somesite.com还是someothersite.com调用的。我试着做两者的console.dirreq和res,但我还是不知道从那里,也可以参考文档,但它给了我没有帮助。

16
我可以确定字符串是否为MongoDB ObjectID吗?
我正在通过将字符串转换为BSON进行MongoDB查找。在转换之前,有没有办法让我确定我拥有的字符串是否是Mongo的有效ObjectID? 这是我当前的findByID函数的脚本。效果很好,但是如果我确定字符串不是ID,我想按其他属性查找。 db.collection "pages", (err, collection) -> collection.findOne _id: new BSON.ObjectID(id) , (err, item) -> if item res.send item else res.send 404

4
Node.js + Express.js用户权限安全模型
我们有一个具有两种类型的用户的应用程序。根据用户的登录方式,我们希望他们可以访问应用程序的不同部分。 我们如何实现一种安全模型以防止用户看到他们无法访问的内容? 我们是否将安全性纳入每条路线的实施中?问题在于我们在请求之间会有一些重复的逻辑。我们可以将其移到辅助函数中,但是仍然需要记住调用它。 我们是否将安全性作为全局app.all()路由处理程序的一部分?问题是我们必须检查每条路线,并根据众多规则执行不同的逻辑。至少所有代码都放在一个地方,但是……所有代码都放在一个地方。

2
为什么在“ res.send”之后执行代码?
我想知道以下代码的行为背后的机制是什么: res.send(200, { data: 'test data' }); console.log('still here...'); 我的理解是res.send不返回函数,而是关闭连接/结束请求。这可以解释为什么我仍然可以在res.send命令后执行代码(我查看了快速源,但它似乎不是异步函数)。 还有其他我可能会想念的东西吗?
78 node.js  express 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.