css抽取 — (一般开发模式不使用, 生产模式使用)

extract-text-webpack-plugin 与 mini-css-extract-plugin


  1. const ExtractTextPlugin = require("extract-text-webpack-plugin");
  2. module.exports = {
  3. module: {
  4. rules: [
  5. {
  6. test: /\.css$/,
  7. use: ExtractTextPlugin.extract({
  8. fallback: "style-loader",
  9. use: "css-loader"
  10. })
  11. }
  12. ]
  13. },
  14. plugins: [
  15. new ExtractTextPlugin("styles.css"),
  16. ]
  17. }
  1. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  2. module.exports = {
  3. plugins: [new MiniCssExtractPlugin()],
  4. module: {
  5. rules: [
  6. {
  7. test: /\.css$/i,
  8. use: [MiniCssExtractPlugin.loader, 'css-loader'],
  9. },
  10. ],
  11. },
  12. };

总结:
**

  1. 如果当前项目是webpack3.x版本,使用extract-text-webpack-plugin;
  1. 如果当前项目是webpack4.x版本(但已有extract-text-webpack-plugin配置),可以继续用extract-text-webpack-plugin,但必须用对应的beta版本,且这个beta版本不支持生成hash;
  1. 如果当前项目是webpack4.x版本且是新项目,使用mini-css-extract-plugin