Webpack加载器测试没有文件名某些部分的文件
Webpack loader test for files without certain part of filename
我将我的测试保存在与我的组件相同的文件夹中,并且我正在尝试将 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'
}
我来到这里是为了解决与通过 styleUrls
导入的 Angular 2 个组件样式相关的类似问题。我想我会添加我的解决方案作为后代接受的答案的扩展。
此解决方案区分需要使用 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$/
}
我将我的测试保存在与我的组件相同的文件夹中,并且我正在尝试将 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'
}
我来到这里是为了解决与通过 styleUrls
导入的 Angular 2 个组件样式相关的类似问题。我想我会添加我的解决方案作为后代接受的答案的扩展。
此解决方案区分需要使用 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$/
}