通过 ng new 创建角度项目时,Angular 15 CLI 不会创建环境文件夹

分享于2022年12月29日 angular-cli 问答
【问题标题】:Angular 15 CLI does not create environments folder when creating an angular project via ng new通过 ng new 创建角度项目时,Angular 15 CLI 不会创建环境文件夹
【发布时间】:2022-12-21 21:38:27
【问题描述】:

与 Angular 14 生成的项目类似,我希望拥有单独的开发和生产环境,但是在使用 ng new 创建项目时:

ng new my-app

这不会创建环境文件夹或进行设置。

  • 您能否添加您使用的 npm NodeJS 的版本?
  • npm v- 8.19.2 , NodeJS v- v18.12.1

【解决方案1】:

Angular - Configure Environment Specific Defaults

编辑:- 正如预测的那样, GitHub Issue

Angular CLI 15.1 发布后,将提供一个生成示意图,用于为项目中所有现有的构建配置添加环境文件。 用法示例:

ng g environments


手动创建:

如果要重新创建环境,请执行以下步骤:

  • 创建 environments 目录

  • 创建您的自定义环境

    • environment.ts
    • environment.prod.ts
    • environment.staging.ts
  • 更新你的 angular.json project.json 以执行 fileReplacements ,其中路径是从项目根目录到 replace with 的环境文件:

  "configurations": {
       "production": {
          ...
          "fileReplacements": [
            {
              "replace": "apps/some-app/src/environments/environment.ts",
              "with": "apps/some-app/src/environments/environment.prod.ts"
            }
          ],
        },
        "development": {
          ...
        }
      },
      "defaultConfiguration": "production"
    },

【讨论】:

  • 我最初删除了,因为我还不确定它是否真的有效,即如果 fileReplacements 仍然有效。取消删除,我会让别人告诉我,因为评论中引用了这个答案
  • 我确认这有效。您只需要编辑并删除“apps/some-app”部分(待编辑队列已满)。然后我将 export default "hello dev" export default "hello prod" 放在环境中,将 import environment from "./environments/environment"; console.error(environment) 放在main.ts中。 ng build 显示输出的产品打印, ng build -c development 显示开发打印
  • 谢谢,来自 nx 工作区的参考 apps/some-app 。但可以是环境文件的任何路径项目根目录
  • 我不明白他们为什么删除环境文件夹...“手动”创建文件夹是倒退了一步。我经常将其用于本地开发和生产构建(例如服务器地址)