按照標題,我試圖測試一些用ES6 JS編寫的AMD模塊,從nodejs運行。如何測試和聲/ ES6/ECMAScript 6 JavaScript?
我首先嚐試了Intern:即使在nodejs中啓用--harmony
後,我最終面臨Intern的依賴鏈,在那裏我無法啓用Harmony。 伊斯坦布爾,esprima和其他人(我爲此打開了issue)。
然後我搬到了mocha,這裏我卡住了...... 奇怪。我啓用了和諧既爲和的NodeJS本身摩卡,這裏的package.json
測試腳本:
"test": "node --harmony node_modules\\mocha\\bin\\mocha tests --harmony --recursive"
,我從命令提示符下運行的npm test my_test_folder
。儘管如此,一些ES6結構(例如const
)通過確定,但隨後它在解構賦值方面產生扼殺。以下是第一輸出線:
const { log, dir } = require('../consoleLogger.js');
^
SyntaxError: Unexpected token {
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
[...continues...]
我也查了這個SO thread和聽說transpilers,
,但我真的不知道,如果他們可以工作
,現在我試圖讓transpilers在工作這個案例。
有關如何解決這個問題的任何想法,而不是訴諸於改變代碼中的所有ES6位? TA。
在不使用摩卡時,您是否可以使用任何和聲的功能?如果在不使用摩卡時不起作用,它將不適用於摩卡。 – Louis 2014-10-10 22:58:54
好點,儘管代碼是Thunderbird插件的一部分,其中和聲功能正在工作。在這裏,我試圖從(節點)命令行運行測試,所以問題現在出來了。 – superjos 2014-10-13 00:15:22
由於沒有人提到它,請查看http://kangax.github.io/compat-table/es6/ – 2014-10-13 00:22:37