webpack打包成功css出错是什么原因?

webpack打包成功了,但css出错,不起作用是什么原因?怎么解决下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

问题: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-loadercss-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其它相关文章!

推荐阅读