Webpack 2 正则表达式测试失败
Webpack 2 regex test failing
我不太明白加载程序测试失败的原因。
我的目标:
测试 1:
匹配 不是 或 global.css
或 global.scss
的任何内容
测试 2
只有匹配global.scss
或global.css
原因是我不想让任何名为 global 的文件通过 module
选项
看来我的第一个测试是让全球。当使用 https://regex101.com/.
等工具时,我可以看到我的正则表达式都正确返回 true/false
会不会是我的问题include
?
求助! :)
webpack.config.js
{
test: /^(?!global\.s?css$).*\.s?css$/,
include: SRC_DIR,
use: extractPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
modules: true,
camelCase: true
}
},
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [require('autoprefixer')()]
}
},
'resolve-url-loader',
{
loader: 'sass-loader',
options: { sourceMap: true }
}
]
})
},
{
test: /^global\.s?css$/,
include: SRC_DIR,
use: extractPlugin.extract({
use: [
'css-loader',
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [require('autoprefixer')()]
}
},
'resolve-url-loader',
{
loader: 'sass-loader',
options: { sourceMap: true }
}
]
})
}
对于测试 2,请尝试从您的正则表达式中删除 ^
。测试与文件路径匹配,而不仅仅是文件名,因此从路径的开头开始将导致测试失败。
对于测试 1,您可以通过使用 test: \/.s?css$\
捕获所有样式然后添加 exclude: \global.s?css$\
以防止包含全局样式来简化此否定模式。
我不太明白加载程序测试失败的原因。
我的目标:
测试 1:
匹配 不是 或 global.css
或 global.scss
测试 2
只有匹配global.scss
或global.css
原因是我不想让任何名为 global 的文件通过 module
选项
看来我的第一个测试是让全球。当使用 https://regex101.com/.
等工具时,我可以看到我的正则表达式都正确返回 true/false会不会是我的问题include
?
求助! :)
webpack.config.js
{
test: /^(?!global\.s?css$).*\.s?css$/,
include: SRC_DIR,
use: extractPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
modules: true,
camelCase: true
}
},
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [require('autoprefixer')()]
}
},
'resolve-url-loader',
{
loader: 'sass-loader',
options: { sourceMap: true }
}
]
})
},
{
test: /^global\.s?css$/,
include: SRC_DIR,
use: extractPlugin.extract({
use: [
'css-loader',
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [require('autoprefixer')()]
}
},
'resolve-url-loader',
{
loader: 'sass-loader',
options: { sourceMap: true }
}
]
})
}
对于测试 2,请尝试从您的正则表达式中删除 ^
。测试与文件路径匹配,而不仅仅是文件名,因此从路径的开头开始将导致测试失败。
对于测试 1,您可以通过使用 test: \/.s?css$\
捕获所有样式然后添加 exclude: \global.s?css$\
以防止包含全局样式来简化此否定模式。