nx lib 负责环境文件替换不起作用

Oma*_*mar 1 angular nrwl nrwl-nx

  • 我有这个库,@my-proj/commonexport * from './lib/environment';index.ts
  • 我的前端(ng)和后端(express // Nest)应用程序import { environment } from '@my-proj/common'
  • 当我构建这些应用程序时,仅使用开发变量。IE npx nx build angular-app --prod;
  • 我想既然我是用 prod 标志构建的,那么它会使用environment.prod.ts from @my-proj/common?

项目配置:

"common": {
  "root": "libs/common",
  "sourceRoot": "libs/common/src",
  "projectType": "library",
  "architect": {
    "build": {
      "builder": "@nrwl/node:package",
      "outputs": ["{options.outputPath}"],
      "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "libs/common/src/lib/environment.ts",
              "with": "libs/common/src/lib/environment.prod.ts"
            }
          ]
        }
      },
      "options": {
        "outputPath": "dist/libs/common",
        "tsConfig": "libs/common/tsconfig.lib.json",
        "packageJson": "libs/common/package.json",
        "main": "libs/common/src/index.ts",
        "assets": ["libs/common/*.md"]
      }
    }
  },
  "tags": []
}
Run Code Online (Sandbox Code Playgroud)

jpe*_*rez 5

无法对库进行文件替换。您可以从应用程序配置中进行文件替换,或者使用公开模块中的静态 forRoot 方法来配置您的 lib