1
test.js
ファイルにexport
というキーワードを使用しようとしています。 test.js
ファイルはかなり簡単です。Chrome6でes6エクスポートキーワードを使用できません
const foo = Math.PI;
export { foo };
そして、私はkarma
を使ってテストを行っています。私のChrome
バージョンは61
より大きく、下のログに表示されています。 export
の構文はクロムのバージョンが61以上で完全にサポートされているので、上記のコードは機能するはずですが失敗します。
$ karma start --browsers Chrome
01 10 2017 12:29:37.346:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
01 10 2017 12:29:37.350:INFO [launcher]: Launching browser Chrome with unlimited concurrency
01 10 2017 12:29:37.357:INFO [launcher]: Starting browser Chrome
01 10 2017 12:29:38.288:INFO [Chrome 63.0.3205 (Mac OS X 10.11.6)]: Connected on socket PV-MAe-R6vm4JntCAAAA with id 24009783
Chrome 63.0.3205 (Mac OS X 10.11.6) ERROR
Uncaught SyntaxError: Unexpected token export
at test/test.js:2
これはなぜ起こっているのでしょうか?
ご回答ありがとうございます。 ES6モジュールをサポートする他のテストツールはありますか?私はカルマと結びついていないので、可能ならば蒸散器を追加することなく、すべてをES6に固執することを好むだけです。私は 'カルマ'、 'モカ'、 'クニット'の相対的な能力に精通していません。いずれもES6を完全にサポートしていますか?また、どのバンドラを使用するのかは分かりません。 'Rollup'は蒸散可能ですか? – Pushpendre
モカはブラウザ用のランナーを提供していません。 Jestがありますが、設計によってネイティブモジュールをサポートすることはほとんどありません。アプリはサードパーティのモジュールを脅かすので、やはり実用的ではありません。ネイティブでこれを行うときにモジュールをスタブ/モック/プロセスする機会はゼロです。ロールアップやWebpackを使用してアプリをトランジリングしてバンドルすることはできますが、実際にはフル機能のテストランナー(カルマが担当)がこれを処理しています。カルマはそれを(プラグイン経由で)行います(https://github.com/babel/karma-babel-preprocessor)。 – estus