如果存在转换错误,则ng build --watch不输出dist目录

时间:2018-01-02 21:47:01

标签: javascript node.js angular-cli ng-build

我在终端

中有这个命令
$ ng build --watch
Date: 2018-01-02T21:42:45.851Z                                                      
Hash: f72a8ce7baf664dc5d5a
Time: 3260ms
chunk {inline} inline.bundle.js, inline.bundle.js.map (inline) 5.83 kB [entry] [rendered]
chunk {main} main.bundle.js, main.bundle.js.map (main) 303 bytes [initial] [rendered]
chunk {polyfills} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 323 bytes [initial] [rendered]
chunk {styles} styles.bundle.js, styles.bundle.js.map (styles) 57.9 kB [initial] [rendered]

ERROR in src/main.ts(50,42): error TS2339: Property 'value' does not exist on type 'HTMLElement'.

即使使用ng build出错,如何强制转换?我希望angular-cli始终将目标文件输出到dist导演,无论如何。

1 个答案:

答案 0 :(得分:1)

推荐的方法是使用类型断言:

let inputFields = document.getElementsByClassName("settings") as HTMLInputElement

如本TypeScript bug所述。

基于angular-cli configuration options,无法在构建期间抑制错误。

您需要使用类型断言修复TypeScript代码,将变量强制转换为any类型,或使用tsconfig.json文件中的配置标记 - 例如"compilerOptions":{ "noImplicitAny":false } read more about here.

有关TypeScript编译器选项的完整列表,请参阅:

https://www.typescriptlang.org/docs/handbook/compiler-options.html