2015-06-18 96 views
2

關於如何在WebStorm 10上使用ES6的任何想法?讓ES6在WebStorm中工作

這是我迄今所做的:

  1. 安裝通天塔。
  2. 使用設置>工具>文件觀察者激活了Babel。選中了Babel複選框。
  3. 編輯配置>啓動文件觀察家之前> +則「運行文件看守」。
  4. 設置代碼爲ES6
  5. 改變了我的運行配置爲使用編譯版本。

然後創建以下瑣碎一段代碼:。

require("babel/register"); 
function* count(n){ 
    console.log(n); 
} 

此代碼顯示了沒有語法錯誤,因爲它應該(A便捷的方式,以確保ES6已開啓)

運行(運行編譯版本,實際上),並得到這個....

var marked0$0 = [count].map(regeneratorRuntime.mark); 
          ^
ReferenceError: regeneratorRuntime is not defined 

爲什麼?我如何獲得它與巴貝爾預編譯,然後運行?是不是再生器應該照顧這條線:

require("babel/register"); 

(Windows 7,如果這是重要的)。

回答

1

我認爲根據您所描述的錯誤的性質,您可能需要做兩件事才能使其工作。

  1. npm install babel-core
  2. 作爲參數添加--optional runtime通天的調用

這是基於什麼在一些細節here描述。

1

「請求掛鉤」僅適用於註冊後需要的文件,但不適用於註冊掛鉤本身的文件。

所以此工程:

// index.js 
require('babel/register'); 
require('./count'); 

// count.js 
function* count(n){ 
    console.log(n); 
}; 
+0

這不適合我。它會產生相同的錯誤。 – Dirk

+1

@Dirk我不得不承認我不使用WebStorm(也不使用Windows),但是從命令行運行時代碼本身工作得很好。 – robertklep

2

巴貝爾的要求掛鉤需要你有BABEL_CACHE_PATH環境變量。您可能還需要在WebStorm的File Watcher配置中指定它們。

+0

謝謝。我認爲它沒有BABEL_CACHE_PATH,這是可選的。會試試看。 – Dirk