问题: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: [ ] };
更多web开发知识,请查阅 HTML中文网 !!
以上就是webpack打包成功css出错是什么原因?的详细内容,更多请关注易知道|edz.cc其它相关文章!