博主在初学webpack的时候可是吃了不少的苦头,其中就包括导入css文件所带来的各种BUG,其中一些就特别的棘手,顺手就写篇博客分享给大家,希望跟博主遇到同样问题的伙伴们能借此早日解决自己的BUG。(由于博主是第一次写博客,所以有专业术语用的不对的地方希望大家指正哈~当然使用各种cli的用户应该不会碰到这种问题= =搬运自CSDN)
在使用webpack搭建vue-loader工程时,常遇到的问题可能有babel在es6到es5的转译问题,这个通过vue-cli脚手架搭建的项目可以基本避免遇到这个问题,接着就是博主所遇到的十分蛋疼的css文件引入问题了,博主在视频学习时所学到的是在引入之前要先安装style-loader和css-loader,具体代码如下
npm install style-loader css-loader --save-dev
如上代码,在webpack.base.conf.js中的module:{rules[]}中加入对css尾缀的识别代码,在早期的文档中loader:中并没有-loader尾缀,在2.0中必须加入此尾缀可以解决问题
接着在main.js用es6语法引入相应路径的css即可
import './assets/bower_components/bootstrap/dist/css/bootstrap.min.css'
博主在这里使用了bower下载的bootstrap组件
注:以上方法是正确的配置方法,如果缺少配置一环的话出现的报错应该是在打开浏览器的console可以看到无法识别@符号之类的blabla报错信息
但是,但是!!!!!最致命的问题就这样出现了!
我就想问了,这TM是什么鬼!!!!我甚至都已经按照人家的官方文档配置了,还能爆出这种错误?????
可能图片看不太清楚,具体报错就跟标题一样Module build failed: Unknown word
这句话的意思是模块创建失败:未知文字,当然下面的报错信息就都没什么卵用了,博主困扰了好久,终于在git的论坛里找到了同样问题的小伙伴(百度真的不给力。。。)附上链接https://github.com/webpack-contrib/css-loader/issues/352
这里面的讨论区只有两个答案,一个就是博主在前面提到过的在传统的style!css之后加上-loader变成style-loader!css-loader即可,另一种就是。。。不配置这项信息,没错就是备注掉整个css配置项。。。。像这样
// {
// test: /\.css$/,
// loader: 'style-loader!css-loader'
// }
然后博主就跟着这个偏方走了一遭,结果真的。。。运行成功了,恩至今没想通为啥,不过既然能解决问题,大家不妨试一试~