Articles of 表示

大多数中间件(如compress)不再与Express捆绑在一起

我刚刚安装了sails@v0.9.16,express@4.0.0,compression@1.0.1和compress@0.1.9(只是为了确保)。 但是我在sails lift时仍然有下面的错误 /Users/myuser/myproject/backend/node_modules/express/lib/express.js:89 throw new Error('Most middleware (like ' + name + ') is no longer bundle ^ Error: Most middleware (like compress) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware. at Function.Object.defineProperty.get (/Users/myuser/myproject/backend/node_modules/express/lib/express.js:89:13) at Object.module.exports.express.customMiddleware (/Users/myuser/myproject/backend/config/passport.js:127:20) at Array.loadExpress [as 1] (/usr/local/lib/node_modules/sails/lib/express/index.js:162:25) at listener (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:462:46) at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:416:17 at […]

Node.js承诺与mongoskin

我试图避免在进行mongodb查询时使用callback。 我使用mongoskin来打电话,如下所示: req.db.collection('users').find().toArray(function (err, doc) { res.json(doc); }); 在许多情况下,我需要做多个查询,所以我想使用Node.js承诺库,但我不知道如何将这些函数作为承诺包装。 我看到的大多数例子对于像readFile这样的事情来说都是微不足道的,我猜在这种情况下,我需要以某种方式包装到Array中。 这可以做,或将不得不由蒙古人实施的东西? 一个例子可以是任何一组callback,find / insert,find / find / insert,find / update: req.db.collection('users').find().toArray(function (err, doc) { if (doc) { req.db.collection('users').find().toArray(function (err, doc) { // etc… }); } else { // err } });

在第一次解除Sails.js应用程序时加载数据(灯具)

我正在使用Sails.js 0.10 RC7。 当开发人员签出一个项目并运行它时,我想预先填充一些数据到数据库中。 这应该只在应用程序运行的第一次完成(或者,也许我们应该有新的数据添加到夹具时发生这种情况)。 我可以把数据放在config/bootstrap.js但据我了解,每次运行sails lift都会运行。 我可以这么做,写一些逻辑,但是如果已经有一个关于这个的惯例,那么使用它会很好。 只是要清楚,我并不是专指testing设备,而是假定在任何运行环境中都可以使用的一些数据。 任何人已经解决这个问题?

在Node.js / Express应用程序中testing环境

我刚刚开始使用Node,并且一直在跟随各种教程。 我创build了一个Express应用程序,并设置了Mongoose和Jasmine。 如何configuration我的规格,以便我可以: 创build模型,在每个规范之后自动清理它们 使用不同的数据库来创buildtesting对象(比如myapp_test) 以尽可能干的方式做到这一点,即不要为每个描述块的拆卸创build一个之前/之后的块 ?

即使当我的路由到不同的文件时,express也会提供index.html

我有一个公共目录与文件index.html和index-08.html在其中。 用下面的代码,我期望index-08.html被服务。 但相反, index.html获取与localhost:3000的浏览器请求 app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function(req, res) { res.sendFile('public/index-08.html'); }); 但是,如果我将index.html的文件名更改为其他名称,则说not-index.html ,然后正确的文件index-08.html得到服务。 你能帮我理解为什么会发生这种情况吗?

了解Express.js中的中间件和路由处理程序

我想了解中间件和路由处理程序如何在Express中工作。 在“ 使用Node和Express进行Web开发”一书中 ,笔者给出了一个有趣的途径和中间件的例子,但并没有给出实际的细节。 有人能帮我理解下面例子中的每一步会发生什么,这样我就可以肯定我正确地思考了吗? 这里是例子(在我的理解和问题的意见): //get the express module as app var app = require('express')(); //1. when this module is called, this is printed to the console, always. app.use(function(req, res, next){ console.log('\n\nALLWAYS'); next(); }); //2. when a route /a is called, a response 'a' is sent and the app stops. There is no action […]

Webpack + Express + EJS:错误:无法find模块“。”

我正在写webpack,打字稿和ejs的快递networking应用程序。 当击中应该为.ejs文件服务的路线之一时,出现以下错误: Error: Cannot find module "." at webpackMissingModule (/Users/max/Development/test/express-webpack/dist/server.js:20669:74) at new View (/Users/max/Development/test/express-webpack/dist/server.js:20669:152) at EventEmitter.render (/Users/max/Development/test/express-webpack/dist/server.js:18776:12) at ServerResponse.render (/Users/max/Development/test/express-webpack/dist/server.js:20479:7) at /Users/max/Development/test/express-webpack/dist/server.js:25508:7 at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5) at next (/Users/max/Development/test/express-webpack/dist/server.js:4743:13) at Route.dispatch (/Users/max/Development/test/express-webpack/dist/server.js:4724:3) at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5) at /Users/max/Development/test/express-webpack/dist/server.js:4054:22 代码如下: 的package.json: { "name": "express-webpack", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo […]

Colors.js:将颜色添加到variables(string)的正确语法?

除了我的静态消息(显示得很好)之外,在console.log中如何使名为“port”的variables变成绿色? console.log('Express app started on port '.green + port); 我没有看到为文档中的variables添加颜色的任何内容,当然如果我只是将.green添加到端口,它将查找端口variables的.green元素,这将是未定义的。 使用: https : //github.com/Marak/colors.js

Node.js – 设置默认局部variables传递到布局/模板

我正在使用Node.js和Express,我想传递一个本地variables在每个页面的布局,有没有办法做到这一点? 我使用Jade作为我的模板引擎。 我想这是因为我想在每个页面(使用会话)显示用户的用户名,任何方式来做到这一点,而不是每次包括在本地对象?

当试图使用require('connect')。utils.parseCookie和nodejs时,找不到模块'connect'

我是相对较新的nodejs等无论如何,我有一个程序,我正在尝试编写使用会话/身份validation系统基于这一个在这里: http : //iamtherockstar.com/blog/2012/02/14/nodejs-和-socketio-authentication-all-way-down /这是基于这一个严重依据我认为(除了更新的更新版本) http://www.danielbaulig.de/socket-ioexpress/ (它利用Node.js,Express.js,Redis和Sockets.io)无论如何,当我试图运行我的程序,我得到这个错误: 错误:在Module.require(module.js:354:17)上的Function._load(module.js:279:25)处的Function._resolveFilename(module.js:332:11)处找不到模块“connect”在对象上的module.js:370:17)。 (module.js:459:10)在Module._compile(module.js:441:26)上的(/home/jez/webdir/app1/app.js:62:19)在module.0(module.js:479:10)处的Function._load(module.js:308:12)处的module.js:348:31) 这条代码对应的是: var parseCookie = require('connect').utils.parseCookie; 现在在两个教程中,他们在调用parseCookie()方法之前使用这一行,但是他们都没有提到需要“连接”模块,只有build立了appon连接的快速模块我相信。 我的程序和express一起工作得很好,在上面的教程中进行调整之前会运行正常。 我感觉它可能是node.js / express / socket.io的最近更新,但是这个教程只是在几天前写的?,任何帮助,将不胜感激!