首页 > 解决方案 > webpack 4额外的倍数css

问题描述

我正在使用 webpack 4。我需要能够在单独的文件中将 scss 提取到 css。

index.js

import "./styles/styles.scss";
import "./styles/stylesapp.scss";
import "./styles/..."; / more files scss 

转换为样式/styles.css 和样式/stylesapp.css,

发生在我身上的问题。

ExtractTextPlugin = not soport webpack4 MiniCssExtractPlugin = 提取文件但我想发送多个 css

const webpack = require("webpack");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");

const path = require("path");

const config = {
  entry: "./src/index.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "bundle.js"
  },
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [
          "style-loader",
          {
            loader: MiniCssExtractPlugin.loader
          },
          "css-loader",
          "sass-loader"
        ]
      },
      {
        test: /\.css$/,
        use: [
          "style-loader",
          MiniCssExtractPlugin.loader,
          {
            loader: "css-loader",
            options: {
              importLoaders: 1,
              modules: true
            }
          }
        ],
        include: /\.module\.css$/
      },
      {
        test: /\.woff(2)?(\?v=\d+\.\d+\.\d+)?$/,
        loader:
          "url-loader?limit=10000&mimetype=application/font-woff&name=fonts/[name].[ext]&publicPath=../"
      },
      {
        test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
        loader:
          "url-loader?limit=10000&mimetype=application/octet-stream&name=fonts/[name].[ext]&publicPath=../"
      },
      {
        test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
        loader: "file-loader?name=fonts/[name].[ext]&publicPath=../"
      },
      {
        test: /\.(gif|jpg|png|ico)(\?v=\d+\.\d+\.\d+)?$/,
        loader: "file-loader?name=images/[contenthash].[ext]&publicPath=../"
      },
      {
        test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
        loader:
          "url-loader?limit=10000&mimetype=image/svg+xml&name=images/[name].[ext]&publicPath=../"
      }
    ]
  },
  resolve: {
    alias: {
      styles: path.resolve(__dirname, "src/styles"),
      assets: path.resolve(__dirname, "src/assets"),
      fonts: path.resolve(__dirname, "src/fonts")
    }
  },
  optimization: {
    minimizer: []
  },
  plugins: [
    new TerserPlugin(),
    new OptimizeCssAssetsPlugin(),
    new CleanWebpackPlugin(),
    new MiniCssExtractPlugin({
      filename: "style/[name].css"
    })
  ]
};

// eslint-disable-next-line no-undef
module.exports = config;

对不起我的英语不好。谢谢。

标签: node.jswebpack

解决方案


推荐阅读