javascript - 直接以 Angular 更改构建文件是一个好习惯吗?

标签 javascript angular webpack angular7

我有一些在部署后修改构建文件的场景。这是手动更改的好习惯吗?

最佳答案

根据评论中的讨论,您想要做的是针对不同的环境有不同的配置,有很多方法可以实现这一点。内置的 Angular cli 方式是使用不同的 build configurations 。构建配置有一个文件替换选项,可以用它的不同变体替换您指定的文件。

在默认的脚手架项目中,您可以通过 environments/environment.ts 文件看到此模式。您将看到它的生产变体,名称为 environment.prod.ts 要为生产使用不同的 api url,您所要做的就是将生产 api url 添加到该文件和开发 api environment.ts 的 url 对于暂存,您必须使用名为 environment.staging.ts

的文件替换来创建构建配置

angular.json 中的配置如下所示,

"configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": ".../environments/environment.ts",
                  "with": ".../environments/environment.prod.ts"
                }
               ]
              ...
              "staging": {
               "fileReplacements": [
                 {
                   "replace": ".../environments/environment.ts",
                   "with": ".../environments/environment.staging.ts"
                  }
                ],
  }

确保始终从 environment.ts 导入 API 基本 URL,而不是任何变体。 ng build --configuration staging 将为您进行替换。

关于javascript - 直接以 Angular 更改构建文件是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56348643/

相关文章:

javascript - 没有波浪号 (~) 无法从 node_modules 导入样式表

javascript - 如何单独捆绑 vendor 脚本并根据需要使用 Webpack?

javascript - backbone.js 和 CORS

typescript - 当用户登录(auth 不为 null )时,如何在 AngularFire2 中获取对象?

javascript - 在 Angular App 中使用 Observables 和过滤数组列表

node.js - 我怎样才能让 webpack 跳过一个要求

javascript - 使用name属性逐一获取文本值

Javascript - 合并对象的属性

javascript - 如何调用 Javascript 函数表达式

angular - 类型 'forkJoin' 上不存在属性 'typeof observable' - angular2