2015-07-20 76 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