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;
相关推荐
Asize12 分钟前
CSS 3D:从布局到立方体
前端
梨子同志21 分钟前
React
前端
万少29 分钟前
22 点后,我靠这个 AI 工具成了"夜间天才程序员"
前端·后端
狂师1 小时前
比 Playwright 更给力,推荐一个AI Agent的浏览器自动化开源项目!
前端·开源·测试
IT_陈寒1 小时前
React hooks 闭包陷阱把我的状态吃掉了,原来问题出在这里
前端·人工智能·后端
壹方秘境1 小时前
使用ApiCatcher在 iOS 上像修改 hosts 一样自定义域名解析
前端·后端·客户端
柳杉1 小时前
可视化大屏设计器脚手架:从设计到交付的一站式方案
前端·three.js·数据可视化
铁皮饭盒2 小时前
3行代码搞定页面截图,Bun.WebView真的简单
javascript
kyriewen15 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒15 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端