Angular使用环境变量和environment部署变量

  • 使用环境变量
    • node.js中可以读取环境变量,如上例中的process.env.mdsp_osbar_url
    • 除了可以读取运行环境(如Cloud Foundry或操作系统)的环境变量,还可以读取node.js自身的环境变量
    • node.js自身的环境变量分为全局级、用户级、terminal级
  • 使用environment部署变量
    • 每个Angular工程都有一个environments目录,其下有environment.ts和environment.prod.ts两个文件,分别存放了部署到不同环境时不同的配置,默认只有production: true
    • src根目录下的.angular-cli.json文件是Angular所有CLI命令的配置
      • .angular-cli.json中在apps节点下设置了入口main程序文件名称
      • .angular-cli.json中在apps节点下设置了入口environment相关的配置
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico",
        {
          "glob": "**/*",
          "input": "./node_modules/sinint-application-core-spa/assets/icons/",
          "output": "./src/assets/icons/"
        }
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "./assets/css/default.theme.css",
        "styles.scss"
      ],
      "scripts": [
        "../node_modules/jquery/dist/jquery.min.js",
        "../node_modules/jqueryui/jquery-ui.js"
      ],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ]
* src根目录下的这个**main.ts**文件,其中会在production值为true时才**enableProdMode()**,这个值会让编译结果不同,提高性能,关掉些功能?
import { enableProdMode } from '@angular/core';

import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

猜你喜欢

转载自www.cnblogs.com/wyp1988/p/11314345.html