使用Webpack提取CSS时抑制模块输出

时间:2018-05-14 19:34:28

标签: javascript webpack sass

我正在尝试使用webpack 4来编译.scss个文件,并将它们提取到一个带有mini-css-extract-plugin的单独文件中。

我的webpack配置的相关部分包括:

entry: {
  'styles': './sass/styles.scss',
  ...
},
module: {
  rules: [
  {
    test: /\.scss$/,
    use: [
      MiniCssExtractPlugin.loader,
      'css-loader',
      'sass-loader'
    ]
  },
  ...
},
plugins: [
  new MiniCssExtractPlugin({
    filename: 'css/[name].css',
    chunkFilename: "[id].css"
  }),
  ...
],
output: {
  filename: 'js/[name].bundle.js',
}

我看到发出了css/styles.css js/styles.bundle.js。有没有办法压制js/styles.bundle.js?我已经尝试使用suppress-chunks-webpack-plugin没有运气(没有发出.css或.js)

2 个答案:

答案 0 :(得分:1)

您可以使用Webpack Extraneous File Cleanup Plugin

使用npm或yarn安装

npm install webpack-extraneous-file-cleanup-plugin --save-dev
yarn add webpack-extraneous-file-cleanup-plugin --dev

webpack.config.js文件中:

const ExtraneousFileCleanupPlugin = require('webpack-extraneous-file-cleanup-plugin');

module.exports = {
  ...
  plugins: [
    new ExtraneousFileCleanupPlugin({
      extensions: ['.js']
    })
  ]
}

答案 1 :(得分:0)

仅需注意,作为此用例的替代方案,Remove Files Webpack Plugin也可能值得考虑,作为davcs86建议的插件的替代方法-它允许在构建之前或之后基于名称或regexp删除文件。