巴别似乎没有工作

我有一个项目内置WebStorm 2016.2.2,Node.js 6.6.0和TypeScript 1.8。

由于某些原因,在这里指定: Node.js不支持ES6导入和导出 ,我需要使用Babel。

我已经安装了Babel和babel-preset-es2015,并添加了一个文件监视器,但是我仍然收到“意外令牌导入”错误。 它看起来像巴贝尔不起作用。

1)我需要采取额外的行动,以便将我的js文件转换为ES5吗?

2)我应该在“WebStorm设置”中将“JavaScript语言版本”设置为什么版本?

3)Babel是否应该像TypeScript编译器那样用输出生成另一个文件?

任何帮助将深深感激!

这里是适用于我的Babel文件观察器设置:

Arguments: $FilePathRelativeToProjectRoot$ --out-dir $ProjectFileDir$/dist --source-maps --presets es2015 Working directory: $ProjectFileDir$ Output Paths to Refresh: $ProjectFileDir$/dist/$FileDirRelativeToProjectRoot$/$FileNameWithoutExtension$.js:$ProjectFileDir$/dist/$FileDirRelativeToProjectRoot$/$FileNameWithoutExtension$.js.map 

它编译文件到单独的目录,保留原始文件名,以便require()工作; 此外,WebStorm也知道生成的文件,因为一旦编译完成,文件系统就会被正确刷新

1)在项目的根目录下创build一个名为.babelrc的文件,内容如下:

 { "presets": ["es2015"] } 

安装es6预设是不够的,你必须告诉babel使用该预设。 供参考: https : //babeljs.io/docs/plugins/preset-es2015/

2)尝试设置ECMAScript6

不要为Node.js 6使用babel-preset-es2015 。 这会将您的源代码转换为ES5,而您原本已经有97%的ES6支持,从而导致严重的性能损失。 仅仅添加它也不能启用模块转换。

使用babel-preset-node6预设或只添加transform-es2015-modules-commonjs插件。