仅在ng build之后才能看到错误

时间:2017-06-16 15:23:37

标签: javascript angular typescript angular-cli

在Angular / CLI / TypeScript 2.3应用程序中,我有一个代码,它会抛出类型错误:

  

TypeError:无法分配给对象'#'

的只读属性'myValue'

这很可能是试图改变用const声明的对象的属性。问题的原因不是我的观点。

我的观点和问题是我只在ng build之后看到它们,但在本地运行时却看不到它们。如何在ng serve期间将其显示出来?

修改

看起来好像'use scrict'已注入构建的代码中,而不是ng serve期间由Webpack运行的代码。

引用此blog post comment

const foo = 27;
// Any of the following uncommented lines throws an exception.
// Assignment operators:
foo = 42;

但这会:

'use strict'; // <<<<<<<<<<<<<<---------------------!!!!!!!!!!!!!!!!
const foo = 27;
// Any of the following uncommented lines throws an exception.
// Assignment operators:
foo = 42;

1 个答案:

答案 0 :(得分:2)

我假设您正在使用@developer033评论中提到的ng build --prod

生产(AoT)编译和非生产编译是两回事。 Prod旗帜更“严格”。

您可以通过此链接查看生产代码的注意事项:https://github.com/rangle/angular-2-aot-sandbox

要简单回答有关如何使用ng build --prod检测ng serve错误的问题:您不能。也许如果你使用AoT设置设置你的短号,你的IDE可以告诉你什么和不该做什么。