我正在与Webpack一起手工构建一个角度模块,而不用CLI。
当做正常的构建时,它是有效的,而当执行AOT构建时,它不工作!
tsconfig.aot.json如下:
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es5",
"es2015",
"dom"
]
},
"angularCompilerOptions": {
"skipMetadataEmit": true,
"genDir": "aot"
}
}
这些错误主要与打字本有关:
在at-loader ./node_modules/@types/core-js/index.d.ts:829:20 TS2304:无法找到名称'PromiseConstructor‘时出错。 在“SymbolConstructor”类型上不存在at-加载器./node_modules/@types/core-js/index.d.ts:1486:36 TS2339: Property 'for‘时出错。 at-加载器./node_modules/@types/core-js/index.d.ts:1490:43 TS2339中的错误:类型“SymbolConstructor”上不存在属性“hasInstance”。 在“SymbolConstructor”类型上不存在at-加载器./node_modules/@types/core-js/index.d.ts:2305:36 TS2339: Property 'for‘时出错。 at-加载器./node_modules/@types/core-js/index.d.ts:2309:43 TS2339中的错误:类型“SymbolConstructor”上不存在属性“hasInstance”。 at-加载器./node_modules/@types/core-js/index.d.ts:2313:50 TS2339中的错误:类型“SymbolConstructor”上不存在属性“isConcatSpreadable”。 at-加载器./node_modules/rxjs/internal/Observable.d.ts:82:59 TS2693中的错误:“诺言”仅指类型,但在这里被用作值。
发布于 2018-10-16 01:25:07
正常构建“有效”的原因是在transpileOnly: true
上设置了awesome-typescript-loader
选项,该选项禁用所有类型的错误报告。一旦删除了该选项,并在lib
和tsconfig.aot.json
中设置了相同的设置,就会从npm run build
和npm run build:prod
中得到大致相同的错误。
从您发布的zip文件开始,对我起作用的一个配置是在撰写本文时将@types/core-js
升级到最新版本(2.5.0,这与您的core-js
版本2.5.7比@types/core-js
0.9.* was更接近),然后在tsconfig.json
和tsconfig.aot.json
中将target
更改为es6
(并删除重写的lib
选项)。完成此操作后,npm run build
和npm run build:prod
都为我完成了任务,没有出错。
发布于 2018-10-11 08:50:24
在您的"@types/core-js": "0.9.35"
中使用package.json
,然后运行npm install
。这会解决问题的。
https://stackoverflow.com/questions/52755339
复制相似问题