webpack打包css出错的解决办法:1、修改webpack2的使用语法为“-loader”;2、添加“style-loader”;3、修改顺序为“style-loader!css-loader;”。
本文操作环境:windows7系统、webpack2.0&&css3版本、Dell G3电脑。
问题:webpack 打包成功,但是css出错,CSS不起作用
问题分析/解决:原因有以下几种
使用了webpack2的语法规则不正确; webpack2要求必须写-loader;
可能是只写了css-loader,没有写style-loader;
顺序反了,必须写成 style-loader!css-loader;
扩展:
问:如果没写style-loader或者没写css-loader会怎么样;
答:
没写style-loader则build文件会生成,但你会发现页面中js不起作用;
没写css-loader则会直接报错:’You may need an appropriate loader to handle this file type.’
问: style-loader和css-loader的作用是什么?
答:
style-loader只是没起作用而不报错就意味着它的作用是将样式插入到DOM元素中;结合网上的答案以及观察预览页面发现:style-loader会在页面的header标签里生成内部的<style></style>;
css-loader 会报错,是因为它影响到webpack的build的过程了。结合网上分享以及’You may need an appropriate loader to handle this file type.’报错信息,意味着css-loader的存在使得在js中通过require或者import引入css成功;通过css-loader,可以实现在js文件中通过require的方式,来引入css。
我的配置文件
const webpack = require('webpack');
const path = require('path');
module.exports = {
entry: {
'bundle': './a.js',
},
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].js',
chunkFilename: '[name].js'
},
module: {
loaders: [
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.js[x]?$/,
exclude: 'node_modules/',
loader: 'babel-loader'
}
]
},
plugins: [
]
};
推荐:《css视频教程》
以上就是webpack打包css出错怎么办的详细内容,转载自php中文网
发表评论 取消回复