让 ES6 在 WebStorm 中工作
Getting ES6 to work in WebStorm
关于如何在 WebStorm 10 上使用 ES6 有什么想法吗?
这是我目前所做的:
- 已安装 Babel。
- 通过设置 > 工具 > 文件观察器激活 Babel。选中 Babel 复选框。
- 编辑配置 > 启动文件观察器之前 > + 然后“运行 文件观察器”。
- 将代码设置为 ES6
- 更改了我的 运行 配置以使用编译版本。
然后创建了以下简单的代码:
require("babel/register");
function* count(n){
console.log(n);
}
这段代码没有语法错误,它应该如此。 (确保 ES6 开启的便捷方式)。
运行 它(运行 实际上是编译后的版本),得到这个....
var marked0[=11=] = [count].map(regeneratorRuntime.mark);
^
ReferenceError: regeneratorRuntime is not defined
为什么?我如何让它用 Babel 预编译然后 运行?难道再生器不应该用这条线来处理吗:
require("babel/register");
(Windows 7,如果这很重要的话)。
"require hook" 仅对注册后需要的文件起作用,对注册挂钩本身的文件不起作用。
所以这有效:
// index.js
require('babel/register');
require('./count');
// count.js
function* count(n){
console.log(n);
};
Babel 的 require 钩子需要你有 BABEL_CACHE_PATH 环境变量。您可能还需要在 WebStorm 的文件观察器配置中指定它们。
我认为根据您所描述的错误的性质,您可能需要做两件事才能使其正常工作。
npm install babel-core
- 添加
--optional runtime
作为调用 babel 的参数
这基于here 的详细描述。
关于如何在 WebStorm 10 上使用 ES6 有什么想法吗?
这是我目前所做的:
- 已安装 Babel。
- 通过设置 > 工具 > 文件观察器激活 Babel。选中 Babel 复选框。
- 编辑配置 > 启动文件观察器之前 > + 然后“运行 文件观察器”。
- 将代码设置为 ES6
- 更改了我的 运行 配置以使用编译版本。
然后创建了以下简单的代码:
require("babel/register");
function* count(n){
console.log(n);
}
这段代码没有语法错误,它应该如此。 (确保 ES6 开启的便捷方式)。
运行 它(运行 实际上是编译后的版本),得到这个....
var marked0[=11=] = [count].map(regeneratorRuntime.mark);
^
ReferenceError: regeneratorRuntime is not defined
为什么?我如何让它用 Babel 预编译然后 运行?难道再生器不应该用这条线来处理吗:
require("babel/register");
(Windows 7,如果这很重要的话)。
"require hook" 仅对注册后需要的文件起作用,对注册挂钩本身的文件不起作用。
所以这有效:
// index.js
require('babel/register');
require('./count');
// count.js
function* count(n){
console.log(n);
};
Babel 的 require 钩子需要你有 BABEL_CACHE_PATH 环境变量。您可能还需要在 WebStorm 的文件观察器配置中指定它们。
我认为根据您所描述的错误的性质,您可能需要做两件事才能使其正常工作。
npm install babel-core
- 添加
--optional runtime
作为调用 babel 的参数
这基于here 的详细描述。