demo17 clean-webpack-plugin (清除模式)

栏目: JavaScript · 发布时间: 5年前

内容简介:在之前的 demo 中,webpack 打包后会在根目录下自动创建 dist 目录,并且把生成的文件输出到 dist 下。当配置的输出包名含有因此,我们需要在下一次 webpack 打包输出之前,把 dist 目录清空。

在之前的 demo 中,webpack 打包后会在根目录下自动创建 dist 目录,并且把生成的文件输出到 dist 下。

当配置的输出包名含有 [hash] 时,hash值会随着文件内容的改变而改变。

因此,我们需要在下一次 webpack 打包输出之前,把 dist 目录清空。

clean-webpack-plugin 插件就能帮你做到。

2.clean-webpack-plugin

clean-webpack-plugin 可以实现 webpack 每次打包之前,清空指定目录。

注意: clean-webpack-plugin 插件应该放在 plugins 的最后,因为 webpack 的插件执行顺序是从后往前执行的。 比如:

plugins: [
    new HtmlWebpackPlugin(),
    new MiniCssExtractPlugin(),
    new CleanWebpackPlugin(["dist"]) // 需放在最后一个
  ]
复制代码

3.安装相关依赖

npm install -D clean-webpack-plugin
npm install -D css-loader style-loader
npm install -D html-webpack-plugin webpack 
复制代码

4.目录结构

// `--` 代表目录, `-` 代表文件
  --demo17
    --src
      -app.js
      -style.css      
    -index.html
    -webpack.config.js
复制代码

src/style.css

body {
  background-color: red;
}
复制代码

src/app.js

const css = import('./style.css');
复制代码

5.编写webpack配置文件

webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");

module.exports = {
  entry: {
    app: "./src/app.js"
  },
  output: {
    publicPath: __dirname + "/dist/", // 打包后资源文件的引用会基于此路径
    path: path.resolve(__dirname, "dist"), // 打包后的输出目录
    filename: "[name]-[hash].bundle.js"
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        // css处理为style标签
        use: [
          "style-loader",
          'css-loader'
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      title: '设置html的title',// 当设置了template选项后,title选项将失效
      filename: "index.html",
      template: "./index.html",
      minify: {
        // 压缩选项
        collapseWhitespace: true
      }
    }),
    new CleanWebpackPlugin(["dist"])
  ]
};
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Intersectional Internet

The Intersectional Internet

Safiya Umoja Noble、Brendesha M. Tynes / Peter Lang Publishing / 2016

From race, sex, class, and culture, the multidisciplinary field of Internet studies needs theoretical and methodological approaches that allow us to question the organization of social relations that ......一起来看看 《The Intersectional Internet》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码