Express导出类中的箭头功能 - 意外的令牌

时间:2017-12-14 15:10:24

标签: javascript node.js express arrow-functions

我的文件已经导出并在express和Node中使用。 我想使用箭头功能,这是一个例子:

class MyClass {

    myFunc(arg) {
        console.log(arg);
    }

    myArrowFunc = (arg1, arg2) => {
        console.log(arg1);
        console.log(arg2);
    };
}


module.exports = {
    MyClass
}

在添加myArrowFunc之前,一切正常。之后我在运行app后出错:

myArrowFunc = (arg1, arg2) => {
            ^
SyntaxError: Unexpected token =

我的节点版本是9.x所以它应该工作......或者我忘记了什么。

3 个答案:

答案 0 :(得分:2)

你不能将作业放在类似的类中。

为什么不把它放在构造函数中?您初始化其中的属性。

不需要babeljs

class MyClass {
    constructor(){
        this.myArrowFunc = (arg1, arg2) => {
            console.log(arg1);
            console.log(arg2);
        };
    }
    myFunc(arg){
        console.log(arg);
    }
}

答案 1 :(得分:1)

从节点版本v10.x.x开始,您可以使用node --harmony为类方法运行带有箭头符号的代码。和谐标记启用了该语言的ECMAScript 6新功能。

答案 2 :(得分:0)

为了在Express应用程序中使用新的Javascript(es6),您需要安装babel来编译es6到es5代码。 Babel编译器允许您在Express app中使用新的JavaScript功能。

在项目中使用babel编译器需要这些依赖项。

1)babel-cli:使用babel从命令行编译文件

2)babel-preset-es2015:为所有es2015插件预设Babel。

运行此命令以使用终端

在nodejs项目中安装babel
npm install -save-dev babel-cli babel-preset-es2015

请继续关注此链接https://www.codementor.io/iykyvic/writing-your-nodejs-apps-using-es6-6dh0edw2o