2015-11-09 24 views
8

Tôi không chắc chắn về những gì có thể gây ra lỗi này trong Node.js, như tôi chưa từng thấy trước đây và không thể tìm thấy vấn đề khác trực tuyến.Mã thông báo không mong muốn =

Message: 
    Unexpected token = 
Stack: 
SyntaxError: Unexpected token = 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:404:25) 
    at Object.Module._extensions..js (module.js:432:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:311:12) 
    at Module.require (module.js:366:17) 
    at require (module.js:385:17) 
    at Object.<anonymous>  (/Projects/api/test/integration/models/article.js:3:15) 

Các tập tin đó gây ra các lỗi có các nội dung sau:

'use strict'; 

var Article = require('../../../models/article') 

Tại sao trên thế giới sẽ = gây ra một lỗi?

Sửa 1 - thêm article.js đang được yêu cầu:

'use strict'; 

class ArticleModel { 

    constructor(options = {}) { 
    this.options = options 
    } 

} 

module.exports = ArticleModel 
+0

nó có thể không đã tìm thấy các tập tin. Đôi khi nó cung cấp cho bạn một thông báo lỗi và được giải thích khá bất thường – MiltoxBeyond

+0

Bạn không cần một dấu chấm phẩy ở cuối? – gariepy

+0

Đó có phải là toàn bộ tệp không? Nếu một tập tin không được tìm thấy, bạn sẽ nhận được một lỗi như thế này: 'Lỗi: Không thể tìm thấy mô-đun '. Ngoài ra, nó có thể là một số unicode kỳ lạ = như nhân vật? – EmptyArsenal

Trả lời

8

node.js 5.0 chưa hỗ trợ tất cả các tính năng của ES6. Đặc biệt, nó chưa hỗ trợ các tham số mặc định.

Vì vậy dòng này:

constructor(options = {}) { 

là những gì gây ra lỗi với sự phân công =.

Xem this table để các tính năng được hỗ trợ trong node.js 5.0.


Bạn có thể thay thế việc giao thông số mặc định với phương pháp lỗi thời cũ:

constructor(options) { 
    this.options = options || {}; 
} 
+0

Vị trí bật. OP, sử dụng phương pháp được đề xuất hoặc sử dụng 'babel-core' để nhận hỗ trợ cho cú pháp này. – GPX

-1

Lỗi này là trên dòng thứ 3 của article.js.

+0

Nội dung ở cuối câu hỏi là tệp article.js gây lỗi. Tệp thử nghiệm được gọi là 'test/integrations/models/article.js', tải' ../../../ models/article.js'. –

+0

anyway, tìm kiếm lỗi bên trong mô-đun gốc –

0

Tôi nghĩ, phân phối Node.js hiện tại của bạn không hỗ trợ giá trị tham số mặc định.

Bạn nên loại bỏ nó:

constructor(options) { 
    this.options = options || {}; 
    } 

Hoặc, hãy cố gắng chơi với --harmony cờ chạy.


Theo this link--harmony không thể để giúp đỡ, tính năng này không thực hiện trong node5.0 ở tất cả.

0

Tôi đang sử dụng Node v5.7.0 và có thể kích hoạt các thông số mặc định sử dụng tùy chọn này: --harmony-mặc-thông số

Các vấn đề liên quan