我将我的测试文件放在与组件相同的文件夹中,并尝试为所有文件应用webpack加载器(istanbul-instrumenter-loader
),但不包括名为spec.js
或以*Spec.js
结尾的文件(因此components/SupportPage/spec.js
和actions/SupportActionsSpec.js
都不会被包含)。我已经尝试在regextester.com上获取正确的正则表达式,但无法使其工作。我错过了什么吗?
我将我的测试文件放在与组件相同的文件夹中,并尝试为所有文件应用webpack加载器(istanbul-instrumenter-loader
),但不包括名为spec.js
或以*Spec.js
结尾的文件(因此components/SupportPage/spec.js
和actions/SupportActionsSpec.js
都不会被包含)。我已经尝试在regextester.com上获取正确的正则表达式,但无法使其工作。我错过了什么吗?
好的,我找到了。编写一个单独的测试以包含所有文件但排除特定的规范文件可能是错误的方法,我是这样解决的:
{
test: /.\.js$/,
exclude: /(node_modules|bower_components)\/|.[sS]pec\.js$/,
loader: 'istanbul-instrumenter'
}
.
:\.[sS]pec
:/(node_modules|bower_components)\/|\.[sS]pec\.js$/
- Precastic我来到这里是为了解决一个与 Angular 2 组件样式相关的类似问题,该问题是通过 styleUrls
导入的。我认为我会将我的解决方案作为对接受答案的扩展,以供后人参考。
此解决方案区分需要使用 to-string-loader
加载的组件样式和可以使用 style-loader
加载的其余样式。
如果您按以下方式配置组件:
@Component({
selector: 'admin',
styleUrls: ['./admin.component.scss'],
templateUrl: './admin.component.html'
})
你可以使用以下规则:
// For components `to-string-loader`
{
test: /\.css$/,
use: ['to-string-loader', 'css-loader'],
include: /\.component\.css$/
},
// For non-components `style-loader`
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
exclude: /\.component\.css$/
}
*[sS]pec.js
和*/*[sS]pec.js
。 - Tushar