Javascript 没有文件名特定部分的文件的网页加载程序测试

Javascript 没有文件名特定部分的文件的网页加载程序测试,javascript,regex,webpack,Javascript,Regex,Webpack,我将测试与组件放在同一个文件夹中,并尝试将网页包加载器(istanbul instrumenter loader)应用于所有文件,除了名为spec.js或以*spec.js结尾的文件之外(因此,components/SupportPage/spec.js和actions/SupportActionsSpec.js都无法包含在内。我尝试在regextster.com上获取正确的正则表达式,但无法使其正常工作。我是否遗漏了什么?好的,我找到了。编写一个测试来包含所有文件,但排除特定的规范文件可能是错

我将测试与组件放在同一个文件夹中,并尝试将网页包加载器(
istanbul instrumenter loader
)应用于所有文件,除了名为
spec.js
或以
*spec.js
结尾的文件之外(因此,
components/SupportPage/spec.js
actions/SupportActionsSpec.js
都无法包含在内。我尝试在regextster.com上获取正确的正则表达式,但无法使其正常工作。我是否遗漏了什么?

好的,我找到了。编写一个测试来包含所有文件,但排除特定的规范文件可能是错误的。)方法,我是这样解决的:

      {
        test: /.\.js$/,
        exclude: /(node_modules|bower_components)\/|.[sS]pec\.js$/,
        loader: 'istanbul-instrumenter'
      }

我来这里是为了解决一个类似的问题,这个问题与通过
styleurl
导入的Angular 2组件样式有关。我想我会将我的解决方案添加到子孙后代公认的答案中

此解决方案区分了需要使用
到字符串加载器
加载的组件样式与可以使用
样式加载器
加载的其他样式

如果按如下方式配置组件:

@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
网页包使用RegEx,而不是glob…您应该在regexp:
\[sS]pec
/(节点模块、鲍尔组件)\/\[sS]pec\.js$/