【发布时间】:2015-01-26 10:53:01
【问题描述】:
我尝试在我的 node.js / express 应用上创建一个类。
它可以在基本的 js / 原型模式下工作,例如:
function MyClass() {
/* constructor code */
};
MyClass.prototype.myMethod = function() {
/* method code */
};
module.exports = MyClass;
但我想使用 class、constructor、extends、... 关键字。
我试过了:
class MyClass {
constructor() {
/* constructor code */
}
myMethod() {
/* method code */
}
}
但它不起作用,错误是:
class MyClass {
^^^^^
SyntaxError: Unexpected reserved word
我的命令行启动带有所有和谐选项的应用程序:
node `node --v8-options | grep harmony | cut -d ' ' -f | xargs` my-app.js
有一个正确启动我的应用程序的想法吗?
【问题讨论】:
-
Google 的 V8 引擎,Node 是基于 hasn't yet released support 为 ES6
classes 构建的。通常,不应将 ES6 功能支持假定为 standard is still in "draft."(旁注:node --harmony将启用所有可用的 Harmony 选项。) -
你解决了吗,因为我有同样的错误?
-
是的,一切都在前面的评论中。你暂时不能使用所有的 ES6 特性
-
在不向 -f 提供参数的情况下如何让 cut 命令工作?
标签: javascript node.js express ecmascript-6 ecmascript-harmony