【发布时间】:2017-12-13 07:26:13
【问题描述】:
我已经开发了基于 Angular 4 的应用程序,并为构建团队提供了源文件,他们有 NodeJS 和 Angular CLI,是否需要 TypeScript 才能使用他们的机器在生产环境中构建源代码?
为ng build--prod
【问题讨论】:
标签: angular angular2-routing angular-cli
我已经开发了基于 Angular 4 的应用程序,并为构建团队提供了源文件,他们有 NodeJS 和 Angular CLI,是否需要 TypeScript 才能使用他们的机器在生产环境中构建源代码?
为ng build--prod
【问题讨论】:
标签: angular angular2-routing angular-cli
这还不清楚,但我会尽力回答(根据我自己的理解)。
当您使用 CLI 创建 Angular 项目时,它会安装所有必需的依赖项,例如 Typescript 或 SASS。
当你构建你的应用程序时,你再次输入命令ng build:这意味着你实际上是在使用 CLI 来构建你的应用程序。已安装所有必需依赖项的同一 CLI。
所以,如果您想知道是否需要将 typescript 安装为全局包,答案是否定的。如果您的意思是需要安装 typescript 作为应用程序依赖项,那么答案是肯定的。
最后,部署应用程序(或让您的同事部署应用程序)所需要做的就是源代码和 CLI 的全局安装。
我希望这会有所帮助!
【讨论】:
让我举个例子,说明我们在生产环境中使用 Angular。
在我们的本地机器中,我们安装了 npm 和 angular-cli(全局),一旦完成开发,我们将代码合并到存储库中,并使用 jenkins 构建作业来构建我们的代码。但是,可能有其他团队使用相同的 jenkins 机器构建自己的代码,我们可能有不同的 angular-cli 版本依赖。假设我们的项目使用 angular-cli v1.5.4,而他们的项目使用 angular-cli v1.4。在构建机器中安装全局 angular-cli 是个坏主意。但是,要运行ng build --prod 命令,您需要全局安装 angular-cli。
您应该始终使用npm run build 命令构建您的代码,而不是这个,这将触发编写在您的package.json 中的build 脚本。这样,您不需要全局安装 angular-cli,npm 将在您的项目中使用本地 angular-cli,以便每个团队都可以使用不同版本的 angular-cli 构建他们的代码。
希望这可以澄清您的问题。
【讨论】: