意外的令牌=
我不确定什么可能会导致Node.js中的这个错误,因为我从来没有见过它,无法在网上find另一个问题。
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)
导致错误的文件有以下内容:
'use strict'; var Article = require('../../../models/article')
为什么在世界上会导致一个错误?
编辑1 – 添加所需的article.js:
'use strict'; class ArticleModel { constructor(options = {}) { this.options = options } } module.exports = ArticleModel
node.js 5.0还不支持所有的ES6function。 特别是,它还不支持默认参数。
所以这一行:
constructor(options = {}) {
是什么导致=
赋值错误。
请参阅此表以了解node.js 5.0中支持哪些function。
你可以用老式的方法replace默认的参数赋值:
constructor(options) { this.options = options || {}; }
我认为,你当前的Node.js发行版不支持默认的参数值。
你应该删除它:
constructor(options) { this.options = options || {}; }
或者,尝试使用--harmony
运行时标志。
根据这个链接 --harmony
不能帮助,这个function在node5.0根本就没有实现。
我正在使用Node v5.7.0,并且可以使用此选项启用默认参数:–harmony-default-parameters
该错误是在article.js的第三行。