webpack进阶篇(十四):自动清理构建目录

简介: webpack进阶篇(十四):自动清理构建目录

说明

玩转webpack课程学习笔记。


bundle,chunk,module

  • bundle:打包最终生成的文件
  • chunk:每个chunk是由多个module组成,可以通过代码分割成多个chunk。
  • module:webpack中的模块(js、css、图片等等)



当前构建时的问题

每次构建的时候不会清理目录,造成构建的输出目录 output 文件越来越多。



通过 npm scripts 清理构建目录

rm -rf ./dist && webpack
rimraf ./dist && webpack


rimraf 包的作用:

npm i rimraf -D

以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除。

使用(比如)


const rimraf = require('rimraf');
// 删除当前目录下的 test.txt
rimraf('./test.txt', function (err) {
  console.log(err);
});
//删除dist目录
rimraf(path.resolve(__dirname, '../dist'),err =>{
  if(err) throw err
})
"scripts": {
    "build": "rimraf dist && webpack"
  },



自动清理构建目录


1、避免构建前每次都需要手动删除 dist 文件夹


2、使用 clean-webpack-plugin

npm i clean-webpack-plugin -D

  • 默认会删除 output 指定的输出目录

3、配置plugins

const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
  entry: {
    index: './src/index.js',
    search: './src/search.js'
  },
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name]_[chunkhash].js'
  },
  mode: 'production',
  plugins: [
    new CleanWebpackPlugin()
  ]
};



目录
相关文章
|
13天前
|
缓存 JavaScript 前端开发
探讨如何通过一系列优化策略来提升TypeScript与Webpack的构建性能。
【6月更文挑战第11天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。通过这些方法,可以提升构建速度,提高开发效率。
48 0
|
12天前
|
缓存 前端开发 JavaScript
Webpack作为模块打包器,为前端项目提供了高度灵活和可配置的构建流程
【6月更文挑战第12天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。这些方法能提升构建速度,提高开发效率。
30 3
|
1月前
|
缓存 JavaScript 前端开发
【TypeScript技术专栏】TypeScript与Webpack构建优化
【4月更文挑战第30天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(关闭不必要的类型检查,适配目标环境)和webpack.config.js(配置entry、output、resolve,使用压缩插件)。启用Webpack缓存和增量构建,利用代码拆分与懒加载,能有效提升构建速度和开发效率。
|
1月前
|
缓存 前端开发 JavaScript
|
1月前
|
前端开发 JavaScript 开发者
webpack打包机制,构建过程和配置
webpack打包机制,构建过程和配置
24 0
|
1月前
|
JavaScript 前端开发 Windows
《Webpack5 核心原理与应用实践》学习笔记-> 构建Electron
《Webpack5 核心原理与应用实践》学习笔记-> 构建Electron
46 1
|
1月前
|
前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
60 1
|
1月前
|
JavaScript 应用服务中间件 nginx
nginx vue2+webpack 和 vue3+vite 配置二级目录访问
nginx vue2+webpack 和 vue3+vite 配置二级目录访问
181 0
|
1月前
|
JavaScript 前端开发 API
《Webpack5 核心原理与应用实践》学习笔记-> webpack并行构建
《Webpack5 核心原理与应用实践》学习笔记-> webpack并行构建
87 0
|
1月前
|
缓存 JavaScript 前端开发
《Webpack5 核心原理与应用实践》学习笔记-> 构建npm包
《Webpack5 核心原理与应用实践》学习笔记-> 构建npm包
52 0