Questions tagged «express»

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


26
编译猫鼬后无法覆盖模型
不确定我在做什么错,这是我的check.js var db = mongoose.createConnection('localhost', 'event-db'); db.on('error', console.error.bind(console, 'connection error:')); var a1= db.once('open',function(){ var user = mongoose.model('users',{ name:String, email:String, password:String, phone:Number, _enabled:Boolean }); user.find({},{},function (err, users) { mongoose.connection.close(); console.log("Username supplied"+username); //doSomethingHere }) }); 这是我的insert.js var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/event-db') var user = mongoose.model('users',{ name:String, email:String, password: String, phone:Number, _enabled:Boolean }); …

9
如何使用Morgan logger?
我无法登录Morgan。它不会将信息记录到控制台。该文档没有说明如何使用它。 我想看看什么是变量。这是来自response.jsexpressjs框架文件的代码: var logger = require("morgan"); res.render = function(view, options, fn){ options = options || {}; var self = this; var req = this.req; var app = req.app; // support callback function as second arg if ('function' == typeof options) { fn = options, options = {}; } // merge …
109 node.js  logging  express 

9
使用Node and Express 4的基本HTTP身份验证
使用Express v3实施基本的HTTP身份验证似乎很简单: app.use(express.basicAuth('username', 'password')); 不过,第4版(我使用的是4.2)删除了basicAuth中间件,所以我有点受阻。我有以下代码,但它不会导致浏览器提示用户输入凭据,这正是我想要的(以及我想象的旧方法所做的): app.use(function(req, res, next) { var user = auth(req); if (user === undefined || user['name'] !== 'username' || user['pass'] !== 'password') { res.writeHead(401, 'Access invalid for user', {'Content-Type' : 'text/plain'}); res.end('Invalid credentials'); } else { next(); } });

6
express.js-单个行中多个路由的单个路由处理程序
有没有办法在单个函数调用上做到这一点? var todo = function (req, res){}; app.get("/", todo); app.get("/blabla", todo); app.get("/blablablabla", todo); 就像是: app.get("/", "/blabla", "/blablablabla", todo ); 我知道这是一个语法混乱,但是仅仅为了给出我想要实现的目标的思路,一系列路由就很棒了! 有人知道怎么做吗?

5
如何以编程方式关闭ExpressJS实例进行测试?
我试图弄清楚如何关闭Express实例。基本上,我想跟.listen(port)电话相反-如何让Express服务器停止监听,释放端口并干净地关机? 我知道这似乎是一个奇怪的查询,所以这里是上下文;也许还有另一种方法可以解决这个问题,而我正在考虑错误的方法。我正在尝试为我的socket.io/nodejs应用设置测试框架。这是一个单页应用程序,因此在我的测试脚本中(我正在使用Mocha,但这并不重要)我希望能够启动服务器,针对它运行测试,然后关闭服务器。我可以通过假设在测试开始之前打开服务器电源,或者通过其中一个测试启动服务器,然后让每个后续测试都假设它已启动来解决此问题,但这确实很麻烦。我更希望每个测试文件使用适当的设置启动服务器实例,然后在测试结束后关闭该实例。这意味着运行测试没有任何怪异的依赖关系,并且一切都很干净。这也意味着我可以进行启动/关闭测试。 那么,有关如何执行此操作的任何建议?我曾考虑过手动触发异常以降低异常,但这似乎很混乱。我已经研究过Express文档和源代码,但似乎找不到任何可以关闭服务器的方法。为此,socket.io中可能还包含一些内容,但是由于套接字服务器只是连接到Express服务器,因此我认为这需要在Express层进行。

4
Express 4.0,带有奇数警告消息的快速会话
我正在尝试通过使用Express 4.x设置Node.js应用程序。在经历了中间件删除问题之后,我终于使它工作了。 但是,以下代码行中有一些警告消息: app.use(session({secret: '<mysecret>'}) 这些警告是: Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass resave option; default value will change at lib\config\express.js:55:11 Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass saveUninitialized option; default value will change at lib\config\express.js:55:11 在文档中,resave和saveUninitialized的默认值为true。 因此,更改代码以读取 app.use(session({secret: '<mysecret>', saveUninitialized: true, resave: true})); 摆脱了警告。 因此,要解决问题的重点: …
105 node.js  express 

6
如何知道用户是否使用passport.js登录?
我已经阅读passport.js了两天的信息和样本,但不确定此后是否完成了所有身份验证过程。 我怎么知道我是否已登录,例如,我将有一个带有登录或注销按钮的导航栏,下面是否有一些变量,如代码? if (login) <button>logout</button> else <button>login</button>

1
如何使用node.js上载,显示和保存图像并表达
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 我需要上传,显示并保存图像,以免刷新本地主机时不会丢失它。这需要使用“上传”按钮来完成,该按钮提示选择文件。 我正在使用node.js并表示服务器端代码。
104 image  node.js  upload  express 

7
快递:如何将应用实例传递给来自其他文件的路由?
我想将路由分成不同的文件,其中一个文件包含所有路由,另一个文件包含相应的操作。我目前有一个解决方案来实现此目的,但是我需要使应用程序实例成为全局实例,以便能够在操作中对其进行访问。我当前的设置如下所示: app.js: var express = require('express'); var app = express.createServer(); var routes = require('./routes'); var controllers = require('./controllers'); routes.setup(app, controllers); app.listen(3000, function() { console.log('Application is listening on port 3000'); }); route.js: exports.setup = function(app, controllers) { app.get('/', controllers.index); app.get('/posts', controllers.posts.index); app.get('/posts/:post', controllers.posts.show); // etc. }; 控制器/ index.js: exports.posts = require('./posts'); …
103 node.js  express 


6
Passport.js Passport.initialize()中间件未使用
我正在将节点与express +猫鼬一起使用,并尝试通过Restful api使用passport.js。 身份验证成功后,我不断收到此异常(我在浏览器中看到了回调URL): /Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/utils.js:419 throw err; ^ Error: passport.initialize() middleware not in use at IncomingMessage.req.login.req.logIn (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/http/request.js:30:30) at Context.module.exports.delegate.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/middleware/authenticate.js:194:13) at Context.actions.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/context/http/actions.js:21:25) at verified (/Users/naorye/dev/naorye/myproj/node_modules/passport-facebook/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth2.js:133:18) at Promise.module.exports.passport.use.GitHubStrategy.clientID (/Users/naorye/dev/naorye/myproj/config/passport.js:91:24) at Promise.onResolve (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8) at Promise.EventEmitter.emit (events.js:96:17) at Promise.emit (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38) at Promise.fulfill (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20) at /Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/query.js:1822:13 我已阅读,我应该把app.use(passport.initialize());和app.use(passport.session());前app.use(app.router);,这就是我所做的。这是我的express.js,用于注册中间件: var express = require('express'), mongoStore = …

5
创建一个接受参数的expressjs中间件
我正在尝试创建一个可以接受参数的中间件。如何才能做到这一点? 例 app.get('/hasToBeAdmin', HasRole('Admin'), function(req,res){ }) HasRole = function(role, req, res, next){ if(role != user.role){ res.redirect('/NotInRole); } next(); }
103 node.js  express 

12
使用Node.js,Express和Mongoose上传图像
多年来,随着事情的变化,请考虑提供更多最新信息的较新答案! 由于许多新的Node.js库很快就变得过时了,无论如何我想问一下使用以下方法上传图像的例子相对较少: Node.js(v0.4.1) 快递(1.0.7) 猫鼬(1.1.0)。 别人如何做? 我发现:node-formidable,但是我是一般上载图像的新手,所以我想学习使用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.