我可以使用webpack 4而不生成其他js文件吗?

时间:2018-07-04 19:06:33

标签: webpack webpack-4

我刚刚开始学习webpack 4,并且成功地设置了漂亮的babel。我观看了一个高级的CSS和SASS课程,该课程的老师使用node-sass,postcss-cli和autoprefixer软件包从sass文件构建了最小化的,可用于生产环境的CSS文件。

我想通过webpack 4实现此目的。我找到了MiniCssExtractPlugin包并进行了设置,但是当我在开发模式下运行webpack(与生产模式相同)时,它将创建一个style.css文件和一个stlye。 .js文件。可以将其配置为不生成其他JavaScript文件吗?另一个问题是,是否可以运行此webpack css生成器而无需在我的主要JavaScript文件中导入scss文件?

否则,使用webpack还是一个好习惯,还是有一个更好的软件包?

我的webpack.config.js文件:

const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");

module.exports = {
  optimization: {
    splitChunks: {
      cacheGroups: {
        styles: {
          name: 'style',
          test: /\.scss$/,
          chunks: 'all',
          enforce: true
       }
      }
    },
    minimizer: [new OptimizeCSSAssetsPlugin({})],
  },
  plugins: [
    new HtmlWebpackPlugin({
      filename: 'index.html',
      template: './src/index.html',
    }),
    new MiniCssExtractPlugin({
      filename: "[name].css",
    })
  ],
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [
          process.env.NODE_ENV !== 'production' ? 'style-loader' : MiniCssExtractPlugin.loader,
          /* "style-loader", */
          "css-loader",
          {
            loader: 'postcss-loader',
            options: {
              plugins: () => [require('autoprefixer')]
            }
          },
          "sass-loader"
        ]
      }
    ]
  }
}

0 个答案:

没有答案