从警告字面上来看,提示是loader加载顺序加载问题,webpack里的loader加载顺序是从后往前执行的,就是说写在最后的loader先进行解析,于是按照提示再从官网修改loader加载顺序,修改结果为
module: {
rules: [
{
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: process.env.NODE_ENV === 'development',
},
},
'css-loader',
'postcss-loader',
'sass-loader',
],
},
],
},
然后,运行发现警告仍然存在,再继续修改几次顺序后,还是存在警告,转变方向,最终关闭几个入口文件一个一个排查,发现问题所在,不是loader加载顺序的问题,而是css引入顺序的问题,比如a.js 引入两个css common.css 和 main.css 引入顺序是
import 'common.css'
import 'main.css'
而在b.js里面是
import 'main.css'
import 'common.css'
就造成了警告,虽然警告不影响开发,但是看着不舒服