2017-03-04 6 views
0

私はwebpackに新しく、Babelローダーと一緒に使ってES6にライブラリを書き込もうとしています。また、Karma/PhantomJSをテストパイプラインに使用したいと思っています。機能としてウェブパック2の設定をエクスポートすると、蒸散を防ぐことができますか?

私はPhantomJSは私がテストを実行するときES6コードが変換されなかったことを示している奇妙な問題にヒットしている:

SyntaxError: Use of reserved word 'let' in strict mode 
at webpack:///say/hello.js:2:0 <- say/hello.spec.js:22929 

をしかし、私は(取る関数としての私のWebPACKの設定をエクスポートするとき、これはのみ発生https://webpack.js.org/configuration/configuration-types/#exporting-a-function-to-use-envのような環境の利点)。オブジェクトとしてのconfigのエクスポートは問題ありません。

他人がhttps://github.com/agentreno/es6-library-exampleでnpm 'test'と 'test:broken'タスクを使ってこれを再現するのを手伝うためのパブリックレポを作成しました。私は何か援助に感謝します。

答えて

0

問題はwebpackの設定ではなく、line 37のkarma.configでの使用方法です。 karma configのwebpackオプションにはオブジェクトが必要ですが、それに関数を与えています。結果として得られるオブジェクトを取得するには、実際に関数を呼び出す必要があります.Webpackは、コマンドラインからwebpackを実行するときに通常実行します。

あなたが現在env(WebPACKの関数への入力パラメータ)を使用していないとして、あなたは単にそれを呼び出すことができます。

webpack: webpackConfig(), 
をしかし、あなたはこれに基づいて条件を持ち始めるとき、あなたがする必要があると思います正しい値を渡します。たとえば、ドキュメントに記載されている例を使用しているとします: --env.production--env.platform=web次のようにWebPACKの関数を呼び出します:他の人がそれを参照することができるように

webpackConfig({ production: true, target: 'web' }) 
+0

優秀な明確な説明を、おかげで、私はこの修正プログラムでプロジェクトを更新しました。 –

関連する問題