我正在将一个网站从Webpack1升级到Weback3,我很难将scss加载程序转换为Webpack 3格式,因为下面一行:
css?-autoprefixer&sourceMap!postcss?parser=postcss-scss!sass?sourceMap'我已经知道要将这一行翻译成Webpack3,我需要在其中一个条目中添加"-loader“后缀,因为exmaple "css”变成了“css-加载器”。
我甚至可以让网站编译,如果我拿出最后一半的行,并只包括“css-加载程序”,但主页样式是坏的。由于某些原因,如果我包含了整个源地图部分,它就无法用错误编译“Entry模块中找不到: Error:无法解决‘css?-自动重定位器和sourceMap’”。
Webpack一号的原装载机是:
loaders: [
{
loader: ExtractTextPlugin.extract('style-loader', 'css?-autoprefixer&sourceMap!postcss?parser=postcss-scss!sass?sourceMap'),
test: /\.scss$/
},在Webpack 3中,我把它翻译成:
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [require.resolve('css-loader?-autoprefixer&sourceMap!postcss-loader?parser=postcss-scss!sass-loader?sourceMap'), require.resolve('sass-loader')]
})
},如果有人能给我一些关于如何绕过这个模块而没有发现错误的建议,我将非常感激。我花了几个小时查看文档,并在googling上搜索,我似乎找不到一个明确的指南,说明行中的所有连接器符号(! = ? &)意味着什么,以及为什么它现在返回模块没有找到。

发布于 2022-04-05 14:31:32
这些符号与内联装载机有关。从文件中:
可以在导入语句或任何等效的“导入”方法中指定加载程序。将装载器与资源分离!每个部分相对于当前目录进行解析。
从'style-loader!css-loader?modules!./styles.css';导入样式--可以用!前缀来覆盖配置中的任何加载器。
可以使用查询参数(例如?key=value&foo=bar )或JSON对象传递选项,例如?{"key":"value“、"foo":"bar"}。
https://stackoverflow.com/questions/68703129
复制相似问题