2017-02-03 73 views
4

我的簡歷網站幾乎完成,我只是最終確定一個「聯繫我」的形式,應該給我一些純文本的電子郵件。Nodemailer錯誤,當需要時

下面是它看起來像在玉:

div.contact-email-box 
    form(id='contact-form' action='/' method='post') 
     h3 Contact me 
     div 
      label 
       span Name: 
       input(placeholder='e.g: Mark' type='text' tabindex='1' required autofocus) 
     div 
      label 
       span Email: 
       input(placeholder='e.g: [email protected]' type='email' tabindex='2' required) 
     div 
      label 
       span Message: 
       textarea(tabindex='3' required) 
     div 
      button(name='Submit' type='submit' id='contact-submit') Send Email 

這裏的地方我趕在POSTserver.js

var express = require('express') 
       , app = express() 
var nodemailer = require('nodemailer') 

app.post('/', function(req, res) { 
}) 

正如你可以看到它沒有做任何事情,但我收到出現以下錯誤:

/home/kade_c/website/node_modules/nodemailer/lib/mailer/index.js:31 compile: [(...args) => this._convertDataImages(...args)], ^^^

SyntaxError: Unexpected token ...

只有當我01即使它已正確安裝到我的node_modules,也可以使用。

這是一個已知的錯誤嗎?我該如何解決它?

回答

3

看起來像一個節點版本問題給我。擴展運算符在早期版本的Node上無效,請檢查以確保您運行的是支持ES6功能的版本。

1

Node.js版本6+是必須的。用下面的命令檢查節點版本:

節點--version

如果沒有至少6+則必須升級。

您可能會收到另一條錯誤消息,指示您登錄到您的帳戶。在這種情況下,請轉到您的電子郵件收件箱,您會看到Google提供的一條消息,指向設置不太安全的應用權限的頁面鏈接。

1

Nodemailer是與節點版本6或以上兼容(每https://nodemailer.com/about/#requirements如)

所以按照下列步驟來升級節點:

1 *須藤NPM緩存清理-f

2 * sudo npm install -gn

3 * sudo n stable

4 * sudo ln -sf/usr/local/n/versions/node/5.4.1/bin/node/usr/bin/node (粗體文本/版本應該是上述步驟中安裝的文本/ 。)

也就是說,如果8.1.1安裝然後執行sudo的LN -sf在/ usr /本地/ N /版本/節點/ 8.1.1 /斌/節點的/ usr/bin中/節點

node -v(現在應該顯示更新的版本)