我在终端
中有这个命令$ 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
导演,无论如何。
答案 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