美文网首页
[插件4 构建] clean-webpack-plugin

[插件4 构建] clean-webpack-plugin

作者: JamesSawyer | 来源:发表于2018-07-09 23:58 被阅读11次

    在building之前用来移除或者清理build文件夹的webpack插件

    yarn add -D clean-webpack-plugin
    

    使用

    const CleanWebpackPlugin = require('clean-webpack-plugin');
    
    // webpack config
    {
      plugins: [
        new CleanWebpackPlugin(paths [, {options}])
      ]
    }
    

    示例:

    const CleanWebpackPlugin = require('clean-webpack-plugin'); //installed via npm
    const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npm
    const webpack = require('webpack'); //to access built-in plugins
    const path = require('path');
    
    // 要被清理的路径
    let pathsToClean = [
      'dist',
      'build',
    ];
    
    // clean的配置
    let cleanOptions = {
      root: '/full/webpack/root/path',
      exclude: ['shared.js'],
      verbose: true,
      dry: false,
    };
    
    const webpackConfig = {
      entry: './path/to/my/entry/file.js',
      output: {
        filename: 'my-first-webpack.bundle.js',
        path: path.resolve(__dirname, 'dist'),
      },
       module: {
        rules: [
          {
            test: /\.(js|jsx)$/,
            loader: 'babel-loader'
          }
        ]
      },
      plugins: [
        new CleanWebpackPlugin(pathsToClean, cleanOptions),
        new webpack.optimize.UglifyJsPlugin(),
        new HtmlWebpackPlugin({template: './src/index.html'})
      ]
    }
    

    参数说明

    // paths {array} 要被清理的路径
    [
      'dist', // 移除 'dist' 文件夹
      'build/*.*', // 移除 'build' 夹下所有文件
      'web/*.js', // 移除 'web' 文件夹中所有的js文件
    ]
    
    // options和默认值
    {
      // 根目录下的绝对路径(路径将添加在根路径下)
      // 默认值: 根目录
      root: __dirname,
      
      // 在console中写logs
      verbose: true,
      
      // 使用 'true' 来模拟或者测试删除,只是模拟,不会真的删除
      dry: false,
      
      // 如果为true, 在重新编译的时候删除所有的文件
      watch: false,
      
      // 多用于build目录中共享的文件 不移除
      exclude: ['files', 'to', 'ignore'],
      
      // 允许插件清理webpack root目录之外的文件夹
      // 默认是 false, 不允许清理webpack目录之外的文件夹
      allowExternal: false,
      
      // 在文件产生前进行清理
      beforeEmit: false,
    }
    

    相关文章

      网友评论

          本文标题:[插件4 构建] clean-webpack-plugin

          本文链接:https://www.haomeiwen.com/subject/liuxpftx.html