css-loader导致vue中样式失效
问题描述
vue文件中的样式失效
环境
css-loader: 5.0.1
vue-style-loader:4.1.2
原因
css-loader4.0
后默认对esModule
设置的是true
vue-style-loader 4.1.2
默认接收的是commonjs的结果,也就是默认接收的是“css-loader中esModule设置的是false的结果”,所以一个配置的是true,一个接收的是false,最终就不会显示样式了。
解决
- 在项目的
vue.config.js
中对css
的esModule
改成false
module.exports = {
...
css: {
...
esModule: false
}
...
}
- 修改webpack的配置文件,
css-loader
模块设置添加esModule: false
module: {
rules: [
{
test: /\.css$/i,
use: [
{
loader: 'css-loader',
options: { esModule: false } // 添加这个
}
]
}
]
}
参考
GitHub : https://github.com/fxiaoyu97
博客园 : https://www.cnblogs.com/tudou1179006580
微信公众号 : 三更编程菌
Copyright ©2019 卡洛小豆
【转载文章务必保留出处和署名,谢谢!】
博客园 : https://www.cnblogs.com/tudou1179006580
微信公众号 : 三更编程菌
Copyright ©2019 卡洛小豆
【转载文章务必保留出处和署名,谢谢!】