使用自定义配置运行 ng build

Pet*_*zov 7 typescript angular angular6 angular7

我有 Angular 项目,我想将其部署在 Apache 服务器上。我用ng build,但我想为后端自定义地址和端点。

proxy.conf.json:

{
  "/api/*": {
    "target": "http://localhost:8080",
    "secure": false,
    "logLevel": "debug",
    "changeOrigin": true
  }
}
Run Code Online (Sandbox Code Playgroud)

该配置根本不适用。我如何正确设置它以更改配置?

环境ts文件:

import {environment as prod} from './environment.prod';

export const environment = Object.assign(prod, {
  production: false
});
Run Code Online (Sandbox Code Playgroud)

veb*_*ben 11

您可以定义不同的环境文件。以下是“dev”的示例:

export const environment = {
    production: false,
    envName: 'dev',
    configPath: './assets/config/config.dev.json'
    ...
};
Run Code Online (Sandbox Code Playgroud)

在“angular.json”文件中添加“dev”的配置部分,如下所示:

"dev": {
  "fileReplacements": [
    {
      "replace": "src/environments/environment.ts",
      "with": "src/environments/environment.dev.ts"
    }
  ],
  ....
Run Code Online (Sandbox Code Playgroud)

并使用此命令来构建:ng build --configuration=dev

有关更多信息,请查看这篇文章:How to setenvironment via `ngserve` in Angular 6


Par*_*ain 2

假设您使用 Angular (>v6),并且您已根据要求创建了多个环境文件。

所以你需要做的是,转到 angular.json 文件

angular.json > projects > projectName > architect > build > configurations > fileReplacements
Run Code Online (Sandbox Code Playgroud)

在这里,您需要将文件名替换为您的文件名,如下所示 -

"replace": "src/environments/environment.ts",
"with": "src/environments/environment.live.ts"
Run Code Online (Sandbox Code Playgroud)