Rumah >hujung hadapan web >tutorial css >webpack打包css出错怎么办
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标签里生成内部的c9ccee2e6ea535a969eb3f532ad9fe89531ac245ce3e4fe3d50054a55f265927;
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视频教程》
Atas ialah kandungan terperinci webpack打包css出错怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!