如何为Angular2测试配置webpack?
我已经设置了基于webpack的配置来测试Angular2 npm包。 无论如何,我一直得到如下错误:
错误:此测试模块使用正在使用“templateUrl”的组件PaginationComponent,但它们从未编译过。请在测试前调用“TestBed.compileComponents”。在karma-test-shim.js(第9952行)
在我看来,我做的一切都是正确的,它应该有效。 {(1}}和html
文件应由webpack加载。
如果您想检查完整配置,我已将其上传至GitHub。您可以找到scss
,webpack.test.js
,karma.conf.js
以及项目来源。它很小 - 一个组件项目。
有关完整的错误消息,您可以转到Travis CI
这是我的package.json
配置:
webpack
答案 0 :(得分:0)
问题在于TypeScript配置。
tsconfig.json
:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"declaration": true,
"outDir": "./lib",
"noEmitHelpers": false,
"isolatedModules": false
},
"compileOnSave": false,
"buildOnSave": false,
"exclude": [
"components.d.ts",
"typings/browser.d.ts",
"typings/browser",
"node_modules",
"examples"
]
}
选项"declaration": true
触发生成类型* .d.ts文件,启用IDE Intellisense会使webpack在测试期间抛出错误。
我通过在运行build
时测试和取消注释时注释掉这一行来解决这个问题。