2015-07-20 73 views
0

我是新来的节点js和快递。我使用npm安装了express-mailer,没有任何问题。从(mac)命令行我生成了一个express(4.13.1)应用程序“express”。每GitHub的指导我修改app.js和改变:快递和快递邮件

var express = require('express'); 

var express = require('express')(), 
    mailer = require('express-mailer');` 

但随后 “节点启动” 与崩溃:

/Users/gary/mailertest/node_modules/express/node_modules/finalhandler/index.js:58 
var status = res.statusCode 
       ^
TypeError: Cannot read property 'statusCode' of undefined` 

我推出一个节点会话和我知道var express = ...成功。失败的直线是后续:

var app = express(); 

我绝对不知道所有的作品在这里,所以我不知道如何继续解决这一点。

+0

你在哪里定义'res'?这里没有足够的代码。此外,即使将变量定义为“express”,也会调用“Express()”。 –

+0

修改为express()vs Express()。 res不在我的代码中。快速命令行工具创建了整个骨架应用程序。 “hello world”应用运行良好,未经编辑。如果我编辑单个添加邮件,那么它崩溃。 – simusid

+0

您可以发布您的完整index.js,因为它现在没有什么意义。缩短信息:'res'是您设置用户响应数据的位置,在用户完成get/post等请求后您可以获得'req'和'res'。 –

回答

1

从我从你的代码说明如下:

 
    var express = require('express')(), 
     mailer=require('express-mailer'); 

    //.. some code here 

    var app = express(); 

你不应该实例两次表达,而不是你应该实例一旦快递:

 
    var express = require('express'), 

    //.. some code here 

    var app = express(); 
    var mailer = require('express-mailer'); 

所以你成功运行你的例子即使请记住它在node-mailers documentation中所说的内容:

适用于Express 3.x. x

而且您正在使用快速版本4.x,因此不确定此快递邮件程序库是否可能在快速版本的此方面存在一些问题。

+0

当然,问题在于我对某些javascript语法不熟悉。感谢您的澄清 – simusid