【问题标题】:something wrong when i using webpack in packing my css file当我使用 webpack 打包我的 css 文件时出现问题
【发布时间】:2017-09-22 04:27:01
【问题描述】:

我正在使用webpack打包我的css文件,我的webpack版本是2.4.1,我按照官方文档webconfig method to use loader;

我的网络配置文件:

  var path=require("path");
module.exports={
    entry:"./js/main.js",
    output:{
        path:path.join(__dirname,"js/build"),
        filename:"bundle.js"
    },
    module: {
        loaders: [
          {test:/\.css$/,loader:"css-loader!style-loader"},
          {test: /\.js$/, loader: 'jsx-loader'}
        ]
    }
}

main.js

// my entry file main.js
var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");

require("../css/main.css"); //I require the css file there

ReactDOM.render(<MessageBoard title="message"/>,
      document.getElementById("container")
)

错误日志:

然后,我不知道为什么,所以我尝试另一种方式

  module: {
        loaders: [
          //{test:/\.css$/,loader:"css-loader!style-loader"}, I delete this config
          {test: /\.js$/, loader: 'jsx-loader'}
        ]
    }

main.js

var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");

require("style-loader!css-loader!../css/main.css");//use this way

ReactDOM.render(<MessageBoard title="message"/>,
      document.getElementById("container")
)

这样,效果很好,所以我肯定是第一种方法做错了,thx~

【问题讨论】:

    标签: javascript webpack webpack-style-loader


    【解决方案1】:

    您的装载机顺序相反。

    改变这个:

    {test:/\.css$/,loader:"css-loader!style-loader"}  
    

    对此:

    {test:/\.css$/,loader:"style-loader!css-loader"}
    

    加载程序的顺序是从右到左。

    这行得通,因为它的顺序正确:

    require("style-loader!css-loader!../css/main.css");//use this way
    

    【讨论】:

    • 另一个问题,为什么这个命令必须在style-loader之前?又怎么知道这部分知识呢?
    • style-loader 负责将样式嵌入到页面中。 css-loader 解析 @import 和 url 等。您可以在此处阅读更多关于差异的信息 stackoverflow.com/a/34237524/3148807。经过长时间的努力,我发现了与您相同的方式,然后在某处阅读(现在找不到)。你可以看到文档和 cmets 关于订单的重要性缺乏解释。 webpack.github.io/docs/stylesheets.html
    猜你喜欢
    • 2021-02-03
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2017-08-27
    相关资源
    最近更新 更多