CLI - 在 Angular 上为生产构建

Oluwafisayo Oluwatayo 2022年4月20日
CLI - 在 Angular 上为生产构建

在制作好 Web 应用程序并准备好部署后,我们要求 Angular 将所有不同的代码片段编译到一个构建中。构建被压缩成更小的尺寸。

在这最后一步中,我们必然会遇到一些小问题。考虑到构建应用程序所经历的严酷考验,这可能是一种令人沮丧的体验。

很容易认为这是一个孤立的问题,但即使是未被篡改的新项目也会遇到同样的问题。遇到的一个主要问题是没有创建 main.js。然后会有其他警告,例如:

  1. 删​​除未使用的功能。
  2. 初始化中的站点效应。

如何解决 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 时,它会设置一些不可标记的设置:

  1. 如果在 .angular-cli.json 中配置,则添加 service worker。
  2. production 值替换模块中的 process.env.NODE_ENV(这对于某些库是必需的,例如 react)。
  3. 在代码上运行 UglifyJS。

在构建项目时,诸如 ng build --env=prod 之类的命令无法完成出色的构建生产工作,因为它们不会压缩文件。要记住的另一件事是确认已实施 AOT。默认情况下,AOT 主要是活动的。

如果实施了提前 (AOT),则 ng build --prod 命令应该可以工作。如果它不起作用,请使用 ng build --prod --aot=false 命令。

如果在 Angular 中启用了启用生产功能,则 ng serve --prod 命令也可以工作。此命令还有助于显着加快应用加载时间。

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

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