ng cli:需要从OSX中的本地环境变量传递环境

时间:2017-10-04 11:13:51

标签: macos environment-variables angular-cli

我希望通过cli工具动态使用app和environment值,并从本地环境变量中读取它们。

我在env中将这些值设置为

//Windows
set APP_NAME=my_app
set ENV=development

//MAC
APP_NAME=my_app
ENV=development

我有以下内容:

的package.json

scripts : {
    "start": "npm run start:mac",
    "start:mac": "ng serve --aot false --port 3001 --app $APP_NAME --environment $ENV",
    "start:win": "ng serve --aot false --port 3001 --app %APP_NAME% --environment %ENV%"
}

角cli.json

"apps": [
    {
      "name": "my_app",
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "my_app/app/main.browser.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.json",
      "testTsconfig": "tsconfig.json",
      "prefix": "",
      "styles": [
        "styles.css"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "development": "environments/my_app/environment.development.ts",
        "prod": "environments/my_app/environment.prod.ts"
      }
    }]

虽然这在Windows中使用命令“npm run start:win”正常工作,但在Mac中命令“npm start”失败,错误为

Environment "" does not exist

所以它似乎不接受OSX中的环境变量作为环境变量。 我试图使用ENV1作为env var名称,但它没有帮助。 如果我没有做错,有没有其他方法可以达到目的?

0 个答案:

没有答案