Vue 3 Vite 项目打包优化:自动删除指定文件的方法

程序员必备宝典https://tmxkj.top/#/ 在 Vue 3 项目中,如果你需要在打包之前删除指定的文件,可以使用 Node.js 的 fs 模块来实现。这可以通过在 vue.config.js 文件中配置一个自定义的 Webpack 插件来完成。

1.安装必要的依赖(如果还没有安装):

复制代码
npm install --save-dev fs-extra

2.创建或编辑 vue.config.js 文件

复制代码
const { defineConfig } = require('@vue/cli-service');
const fs = require('fs-extra');
const path = require('path');

module.exports = defineConfig({
  configureWebpack: config => {
    // 添加一个自定义插件来删除指定文件
    config.plugins.push({
      apply: (compiler) => {
        compiler.hooks.beforeRun.tapPromise('RemoveFilePlugin', async () => {
          const filePath = path.resolve(__dirname, 'path/to/your/file.txt'); // 替换为你要删除的文件路径
          try {
            await fs.remove(filePath);
            console.log(`Successfully removed file: ${filePath}`);
          } catch (err) {
            console.error(`Error removing file: ${filePath}`, err);
          }
        });
      }
    });
  }
});

3.如果需要获取到 package.json 里面的相关信息,例如获取version 版本号

复制代码
        const packageJsonPath = path.resolve(__dirname, 'package.json');
        const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
        version.value = packageJson.version;
相关推荐
嘟嘟07176 小时前
从手写 HashRouter 到 React Router:逐层拆解 SPA 前端路由的完整实现
前端·javascript
我叫蒙奇7 小时前
JS中的隐式类型转换
前端
他们叫我秃子7 小时前
前端开发转 Go 全栈(四):代码写在前面,却要最后执行?我终于搞懂了 defer
前端·后端·go
生戎马 平安京策7 小时前
只学一点点:我的技术学习策略
前端·javascript·react.js
大鹏说大话7 小时前
HTML5 地理定位 Geolocation:获取用户位置的“红线”与最佳实践
前端·html·html5
Csvn8 小时前
content-visibility: auto —— 让浏览器跳过离屏渲染的性能黑科技
前端
小鹰信息技术服务部8 小时前
Edge安装包MicrosoftEdgeSetup.exe无法运行,点击没反应
前端·edge
__zRainy__8 小时前
React之reduce实现compose和中间件
javascript·react.js·ecmascript
webkubor9 小时前
一次前端生产白屏复盘:旧 HTML、Hash 资源和 MIME type text/html
前端·前端工程化
咩咩啃树皮9 小时前
第63篇【终极整合巨作】从零手写原生中后台管理系统|整合62篇全部前端知识点|从头到尾完整架构+全功能逻辑
前端·架构