【问题标题】:Intellij NodeJs 6.4.0 unexpected token exportIntellij NodeJs 6.4.0 意外令牌导出
【发布时间】:2016-08-18 23:55:54
【问题描述】:

我正在使用 Intellij Idea 在 ES6 中创建 NodeJs 应用程序。

我的node.exe版本是6.4.0版

我创建了一个简单的类:

//wNodeClasses.js

'use strict';
export class wsUrl
 {
   constructor()
   {}
 }

我将模块导入另一个文件:

require('../../../Root/Libs/Waldata/wsNodeClasses');

当我启动应用程序时,我总是收到错误:

d:\Dev\webDev\Root\Libs\Waldata\wsNodeClasses.js:11
export class wsUrl
^^^^^^
SyntaxError: Unexpected token export
   at Object.exports.runInThisContext (vm.js:76:16)
  • 我不使用任何转译器,我想编写“纯 ES6 代码”(我不想使用 Babel 或任何等价物)

  • 我了解NodeJs 6.4.0可以直接解释ES6代码

  • 这是我的 Node.Exe 命令行:

    -max-old-space-size=8192 --expose_debug_as=v8debug

我是新手,我想我遗漏了一些明显的东西,我用谷歌搜索并没有找到答案

【问题讨论】:

    标签: node.js intellij-idea ecmascript-6


    【解决方案1】:

    我终于找到了问题。 带有 chrome V8 的 NodeJs 6.4.0 不支持 Es6“export”关键字或语法。

    我找到了一个解决方法

    //Module file
    module.exports=
    class wsUrl
     {
     }
    

    在消费者中:

    var wsUrl = require('../../../Root/Libs/Waldata/wsNodeClasses');
    ...
    var MyVar = wsUrl new("test");
    

    我仍在寻找在同一个 Js 文件(模块)中有多个类并导出它们

    【讨论】:

    • 您可以通过将对象分配给exports 属性来创建多个类。示例:module.exports = {class1:wsUrl,class2:AnotherClass}。然后您可以访问它,例如: require('../../../Root/Libs/Waldata/wsNodeClasses').class1 和 require('../../../Root/Libs/Waldata/ wsNodeClasses').class2
    • 感谢您的回答。我使用了不同的技术(我认为这只是个人喜好问题): //在模块中 module.exports.myClass1=class myClass1{} module.exports.myClass2=class myClass2{} //在主文件中(消费者) var myModule = require('../../../Root/Libs/Waldata/wsNodeClasses'); ... var test=new myModule .wsUrl("param");
    【解决方案2】:

    感谢您的回答。

    我使用了不同的技术(我认为这只是个人喜好问题):

    //In the module module.exports.myClass1=class myClass1{}
    module.exports.myClass2=class myClass2{} 
    
    //In the main file (consumer) 
    var myModule = require('../../../Root/Libs/Waldata/wsNodeClasses'); 
    ... 
    var test=new myModule .wsUrl("param"); 
    

    这适用于 NodeJs 6.4.0 和 intellij(或 webstorm)

    PS:我正在添加一个答案,因为我在格式化我的评论时遇到了问题(无法进行“换行”

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 2016-04-27
      • 2021-05-24
      • 2017-03-05
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多