2017-02-27 9 views
2

私は現在、@ angular/cli @ 1.0.0-beta.32.3を使用しています。新しい取り出し機能を使ってWebpackの設定を編集しました。今私は自分のビルドにどのようにパラメータを渡すことができるのか混乱しています。 例: ng build --prodまたはng test --code-coverageはどうすればよいですか?Angular CLI ejected App-pass parameters

どのようにnpmスクリプトでこれらのことを行うでしょうか。

答えて

2

ejectを実行すると、angular-cliはng-commandの使用を無効にします。しかし、それはあなた自身がそれを行うための基本的なセットアップを行います。

あなたがpackage.jsonに見れば、あなたは次のことを見つける:

"scripts": { 
    "ng": "ng", 
    "start": "webpack-dev-server --port=4200", 
    "build": "webpack", 
    "test": "karma start ./karma.conf.js", 
    "lint": "ng lint", 
    "e2e": "protractor ./protractor.conf.js", 
    "prepree2e": "npm start", 
    "pree2e": "webdriver-manager update --standalone false --gecko false --quiet" 
} 

これらは角-cliのフォークは今からプロジェクトをビルドするために最低限必要なスクリプトであると決定されたものです。それらはコマンドラインから実行され、先にnpm runまたはyarn runが表示されます。

ウェブパックビルドを実行する場合は、これまでのようにng buildを実行する代わりに、npm run buildを実行します。 WebPACKの生産のために構築するには

、あなたはこれらのスクリプトに行を追加する:あなたは本番ビルドを実行する場合

"scripts": { 
    "ng": "ng", 
    "start": "webpack-dev-server --port=4200", 
    "build": "webpack", 
    "build:prod": "webpack -p",      <-- add this line 
    "test": "karma start ./karma.conf.js", 
    "lint": "ng lint", 
    "e2e": "protractor ./protractor.conf.js", 
    "prepree2e": "npm start", 
    "pree2e": "webdriver-manager update --standalone false --gecko false --quiet" 
} 

は今、ちょうどnpm run build:prodを入力し、WebPACKのは、本番モードで実行されます。

--prodで取り除いた場合、webpack.config.jsが自動的にプロダクションモードに入ると思うので、上記の変更はあまり意味がありません。

webpack -p上のいくつかのより多くの情報が正確に、あなたの答えのためのhttps://webpack.js.org/guides/production-build/

+0

感謝を参照してくださいありません。しかし、どのようにカバレッジでテストを実行しますか? – Wortmann

+0

@ Wortmannあなたは '' cover ":" karma start ./karma.conf.js --code-coverage "'のようなものを追加する必要があります。 'npm run cover'または' ng cover'を実行してください。テストされていない、ちょうどアイデア。 –