今回は、Angular CLI を使用してビルドして提供する手順について説明します。Angular CLI を構築して提供する際の 注意事項 について、実際のケースを見てみましょう。
Build.
Buildは主に以下の動作を行います:
プロジェクトファイルをコンパイルし、特定のディレクトリに出力します
出力結果を決定するビルドターゲット
-
バンドルパッケージ
-
本番環境のビルドでは、uglify と Tree-shaking (無駄なコードの削除) も実行されます
ng build.
最初にヘルプを確認できます:
ng build --help
開発環境の場合は、コマンド ng build
デフォルトでは、その出力ディレクトリは .angular-cli.json ファイルの ourDir 属性で構成されます
ビルド後、次のファイルが表示されます。
- inline.bundle.js
- main.bundle.js はブラウザの Pollyfills.bundle です。 .js スタイル
- vendor.bundle.js は Angular およびサードパーティのライブラリです
- source-map-explorer を使用して依存関係を分析し、バンドルに含まれるモジュールとクラスを確認できます。最初に変更します前の例のコード:
ご覧いただけます
生成された 5 つの js ファイルです。
main.bundle.js を開くと、私が書いたコードが表示されます:
ng build は開発ビルドなので、最適化は行われておらず、ファイルはかなり大きくなります
この時点でファイル ディレクトリを見てください。 dist ディレクトリがありません:
それでは、ファイルはどのように提供されますか?
これは、現時点では Webpack がメモリ内で提供されているためです。
以下の分析には、source-map-explorer を使用してください。
npm install --save-dev source-map-explorer
それから ng build を実行し、再度実行します:
.\node_modules\.bin\source-map-explorer dist\main.bundle.jsその結果、次のグラフが生成されます:
vendor.bundleの状況を見てください:.\node_modules\.bin\source-map-explorer dist\vendor.bundle.js
ビルド ターゲットと環境。
環境は、どの環境ファイルが使用されるかを示します。
そして、ターゲットは、プロジェクト ファイルがどのように最適化されるかを決定するために使用されます。
開発ビルドと運用ビルドの比較を見てください。 下面命令都是针对开发时的build, 它们的作用是一样的: 下面则是生产build: 其它常用的参数还有: --sourcemap -sm 生成source map --aot Ahead of Time编译 --watch -w Watch并rebuild --environment -e Build环境 --target -t Build target --dev 表示dev env和target --prod 表示prod env和target Production Build. 先使用--aot: 使用aot之后可以看到 vendor.bundle的大小降了很多, 只有1.5m左右了. 执行aot会去掉一些程序执行不需要的代码, 例如angular的compiler这时就不在build输出的文件里了(可以使用source-map-explorer查看). 试试生产环境: 可以看到所有的文件都非常小了, 并且没有vendor了(因为prod下--build-optimizer起作用所以vendor没有了, 但可以使用--vendor-chunk true给弄出来). Serve. ng serve. 已经一直在用了, 下面看看它常用的参数: --open -o 打开默认浏览器 --port -p 端口 --live-reload -lr 发生变化时重新加载网页(默认开启的) --ssl 使用https --proxy-config -pc 代理配置 --prod 在内存中serve 生产模式build的文件 试试 --prod: 通过文件大小可以看出确实是prod build的. ng eject. 为项目生成webpack配置和脚本. 执行该命令试试: 看看有哪些变化: .angular-cli.json: package.json: 命令脚本都变了 还多出来一个webpack.config.js文件: 为什么要这么做呢? 可以对项目更深入的配置.... 这时运行程序就是 npm start了. 我还是把reject恢复回去吧, 使用git来恢复吧. 如果需要Serve 其他js/css/assets文件: 放在.angular-cli.json就行, 例如jquery就应该放在scripts里面. 相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章! 推荐阅读:
ng ビルド
ng ビルド --prod
環境
environment.ts
環境..prod.ts
キャッシュ
CSSで参照されている画像のみをキャッシュします
ビルドされたすべてのファイル
CSSの扱い方
生成
は生成しません
uglify グローバルCSS jsファイルに出力
生成されたcssファイル
Tree-Shaking
は
ではありません
です
AOT
コードを削除しないと役に立たない
無駄なコードを削除
同梱梱包
ではありません
は
- -ビルド-オプティマイザー は
は
--named-chunks
いいえ
はい (AOT と Angular5 を使用)
--出力-ハッシュ
はい
いいえ
メディア
すべて
ng build
ng build --dev
ng build --dev -e=dev
ng build --target=development --environment=dev
ng build --prod
ng build --prod -e=prod
ng build --target=production --environment=prod
ng build --aot
ng build --prod
ng serve --prod
以上がAngular CLI のビルドと提供の手順の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章继续Angular的学习,带大家了解一下Angular中的元数据和装饰器,简单了解一下他们的用法,希望对大家有所帮助!

本篇文章带大家深入了解一下angular的状态管理器NgRx,介绍一下NgRx的使用方法,希望对大家有所帮助!

angular中怎么使用monaco-editor?下面本篇文章记录下最近的一次业务中用到的 monaco-editor 在 angular 中的使用,希望对大家有所帮助!

本篇文章给大家分享一个Angular实战,了解一下angualr 结合 ng-zorro 如何快速开发一个后台系统,希望对大家有所帮助!

怎么自定义angular-datetime-picker格式?下面本篇文章聊聊自定义格式的方法,希望对大家有所帮助!

Angular项目过大,怎么合理拆分它?下面本篇文章给大家介绍一下合理拆分Angular项目的方法,希望对大家有所帮助!

本篇文章带大家了解一下Angular中的独立组件,看看怎么在Angular中创建一个独立组件,怎么在独立组件中导入已有的模块,希望对大家有所帮助!

Angular Route中怎么提前获取数据?下面本篇文章给大家介绍一下从 Angular Route 中提前获取数据的方法,希望对大家有所帮助!


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック



