基于环境构建到输出路径

时间:2016-12-22 18:11:44

标签: angular angular-cli

我试图弄清楚如何使用我的环境打字稿文件中的变量构建和部署使用角度cli构建的Angular 2项目。

例如,我的angular-cli.json文件声明了一个指向“environment / environment.dev.ts”的开发环境。该文件具有以下属性:

export const environment = {
  production: false,
  'output-path': '\\\\testServer\\apps\\appName\\'
};

我想做的是能够调用ng build --dev,并且cli会使用dev文件(它正确地执行)构建应用程序,但也将它输出到输出路径,这种情况将是一个网络共享。无论如何在没有合并其他CI工具和/或gulp的情况下执行此操作?

我在构建和传递路径时手动添加了-o( - output-path)选项,但我不想为公司构建一个解决方案,要求开发人员每次都手动键入路径。 / p>

我知道我可以更新package.json以使用--output-path参数添加用于build / deploy的新命令,但这需要更新多个文件中的路径并添加许多新命令(用于本地的命令) ,dev,test,prod)。

有没有人有这方面的好解决方案?

2 个答案:

答案 0 :(得分:3)

ng build命令有标记来处理你需要的东西......

--target=development (or -dev)
--target=production (or -prod)
&
--output-path=my/output/path

所以你可以创建npm脚本来完成它们:

//in package.json
"scripts": {
  "devbuild": "ng build -dev --output-path=my/dev/output",
  "prodbuild": "ng build -prod --output-path=my/prod/output"
}

然后你可以跑......

npm run devbuild
npm run prodbuild

答案 1 :(得分:2)

更新Angular 6 +:

在angular.json中设置它:

对于开发环境:

  "architect": {
    "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "outputPath": "dist/dev",

对于生产环境:

      "configurations": {
        "production": {
          "outputPath": "dist/prod",