style-loader、mini-css-extract-plugin的区别

webpack初入门时强调处理css文件时一定要使用style-loader,使用loader的顺序为:
[“style-loader”, “css-loader”, “sass-loader”],webpack调用loader是从右往左的,先使用sass-loader将.less或.scss文件转换成css,再使用css-loader加载css文件,最后使用style-loader将css-loader处理的样式注入到HTML页面中。

style-loader:把js中import导入的样式文件打包到js文件中,运行js文件时,将样式自动插入到<style>标签中。

但如果使用了 mini-css-extract-plugin 插件,就可以不用style-loader了。

mini-css-extract-plugin:把js中import导入的样式文件,单独打包成一个css文件,结合html-webpack-plugin,以link的形式插入到html文件中。
注:
此插件不支持HMR,若修改了样式文件,是不能即时在浏览器中显示出来的,需要手动刷新页面。

使用方式如下:

const path = require('path');
const webpack = require('webpack');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
  entry: path.join(__dirname, "src/index.js"),
  output: {
    path: path.join(__dirname, "dist"),
    filename: '[name]-[hash].js'
  },
  module: {
    rules: [      
      {
        test: /\.(scss|less)$/,
        use: [
          {
            loader: MiniCssExtractPlugin.loader
          },
          'css-loader', 
          'sass-loader'
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: path.join(__dirname, '/src/index.html')
    }),
    new MiniCssExtractPlugin({
      filename: '[name].css' // 这个配置可以不写,默认输出文件名与webpack的output设置一致
    })
  ]
}
  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值