Angular 2 CLI环境设置

Angular 2 CLI环境设置,angular,environment,Angular,Environment,我想为我的Angular 2项目设置开发、测试(QA)和产品环境。 在进行QA环境设置时ng build--environment=QA 我正在犯错误 无法读取未定义的属性“length” 在createSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:15457:109) 在parseSourceFileWorker(D:\ECC-Web\ECC-Web\working

我想为我的Angular 2项目设置开发、测试(QA)和产品环境。 在进行QA环境设置时
ng build--environment=QA

我正在犯错误

无法读取未定义的属性“length” 在createSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:15457:109) 在parseSourceFileWorker(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:15389:26) 在Object.parseSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u-modules\typescript\lib\typescript.js:15338:26) 在Object.createSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:15192:29) 在VirtualFileStats.getSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u-modules\@ngtools\webpack\src\compiler\u-host.js:66:35) 在WebpackCompilerHost.getSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\@ngtools\webpack\src\compiler\u-host.js:213:38) 在findSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67909:29) 在ProcessImportedModule(D:\ECC Web\ECC Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:68056:25) 在findSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67937:17) 在processSourceFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67840:27) 在processRootFile(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67728:13) 在D:\ECC Web\ECC Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67018:60 在Object.forEach(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:1449:30) 在Object.createProgram(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\typescript\lib\typescript.js:67018:16) 在AotPlugin.\u设置选项(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\@ngtools\webpack\src\plugin.js:129:28) 在新的AotPlugin上(D:\ECC-Web\ECC-Web\working\8-Aug\node\u modules\@ngtools\webpack\src\plugin.js:26:14)

下面是我的环境设置代码 在angular-cli.json中

"environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts",
        "qa": "environments/environment.qa.ts"
      }
在environments/environment.qa.ts中

export const environment = {
    production: false
  };

看起来,我们在环境/environment.qa.ts中设置了envName

export const environment = {  
        production: false,
        envName: 'qa'
 };

你能试试这个吗?引用这个文档类型脚本可能想读取一个不存在的源文件。堆栈跟踪没有提到丢失文件的名称,但是您可以通过编辑文件
node\u modules\typescript\lib\typescript.js
-添加日志语句
console.log(文件名)来获得它
createSourceFile
方法的开头,再次运行build命令。错误之前的最后一个文件名应该是导致问题的文件名。

其他environment.ts文件中是否有相同的变量?另外,您确定angular-cli.json中的文件名与实际文件名匹配吗?正如@Evan建议的那样,检查
环境。*.ts
文件的名称以及
.angular cli.json
环境下的配置。在我的例子中,这只是一个排版:<代码>环境> QA。TS >代码>而不是<代码>环境.Qa. TS 。谢谢罗伯特。我已经尝试过这个文档,但是QA环境没有设置。谢谢。这是环境文件。@ Akanksha,你可以考虑接受答案,让别人知道你已经解决了问题,作者得到了一些要点。