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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Express导出类中的箭头功能 - 意外的令牌相关的知识,希望对你有一定的参考价值。

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

class MyClass {

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

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


module.exports = {
    MyClass
}

在添加myArrowFunc之前,一切正常。之后我运行应用程序后出错:

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

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

答案

你不能把作业放在这样的类中。

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

没有babeljs需要。

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

从节点版本v10.x.x开始,您可以使用node --harmony为类方法运行带箭头表示法的代码。 Harmony标志支持该语言的新ECMAScript 6功能。

另一答案

为了在Express应用程序中使用新的javascript(es6),您需要安装babel来编译es6到es5代码。 Babel编译器允许您在Express应用程序中使用新的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

以上是关于Express导出类中的箭头功能 - 意外的令牌的主要内容,如果未能解决你的问题,请参考以下文章

Angular2 CLI express server.ts 中的意外令牌导入

Express.js,意外的令牌 <

打字稿:SyntaxError:意外的令牌“导出”

SyntaxError: 尝试使用 @babel/register 时意外的令牌导出

将 ejs 与 express 一起使用会返回意外的令牌 < used

“导出默认常量”上的意外令牌