CLI - 在 Angular 上为生产构建
Oluwafisayo Oluwatayo
2022年4月20日
在制作好 Web 应用程序并准备好部署后,我们要求 Angular 将所有不同的代码片段编译到一个构建中。构建被压缩成更小的尺寸。
在这最后一步中,我们必然会遇到一些小问题。考虑到构建应用程序所经历的严酷考验,这可能是一种令人沮丧的体验。
很容易认为这是一个孤立的问题,但即使是未被篡改的新项目也会遇到同样的问题。遇到的一个主要问题是没有创建 main.js
。然后会有其他警告,例如:
- 删除未使用的功能。
- 初始化中的站点效应。
如何解决 CLI - 构建问题
在我们深入研究不同的工作解决方案之前,让我们看看 Angular 的不同标志设置:
# Prod these are equivalent
ng build --target=production --environment=prod
ng build --prod --env=prod
ng build --prod
# Dev and so are these
ng build --target=development --environment=dev
ng build --dev --env=dev
ng build --dev
ng build
在 Angular 中使用 --prod
时,它会设置一些不可标记的设置:
- 如果在
.angular-cli.json
中配置,则添加 service worker。 - 用
production
值替换模块中的process.env.NODE_ENV
(这对于某些库是必需的,例如 react)。 - 在代码上运行 UglifyJS。
在构建项目时,诸如 ng build --env=prod
之类的命令无法完成出色的构建生产工作,因为它们不会压缩文件。要记住的另一件事是确认已实施 AOT。默认情况下,AOT 主要是活动的。
如果实施了提前 (AOT),则 ng build --prod
命令应该可以工作。如果它不起作用,请使用 ng build --prod --aot=false
命令。
如果在 Angular 中启用了启用生产功能,则 ng serve --prod
命令也可以工作。此命令还有助于显着加快应用加载时间。
Author: Oluwafisayo Oluwatayo
Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.
LinkedIn