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;
相关推荐
恋猫de小郭21 小时前
AGENTS.md 真的对 AI Coding 有用吗?或许在此之前你没用对?
前端·人工智能·ai编程
sunny_1 天前
构建工具的第三次革命:从 Rollup 到 Rust Bundler,我是如何设计 robuild 的
前端·rust·前端工程化
rfidunion1 天前
springboot+VUE+部署(12。Nginx和前端配置遇到的问题)
前端·vue.js·spring boot
vx-Biye_Design1 天前
servlet家政公司管理系统-计算机毕业设计源码01438
java·vue.js·spring·servlet·tomcat·maven·mybatis
珹洺1 天前
Java-servlet(五)手把手教你利用Servlet配置HTML请求与相应
java·运维·服务器·前端·servlet·html·maven
FYKJ_20101 天前
springboot大学校园论坛管理系统--附源码42669
java·javascript·spring boot·python·spark·django·php
QQ24391971 天前
语言在线考试与学习交流网页平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·spring boot·sql·学习·java-ee
范特西.i1 天前
QT聊天项目(6)
前端
a1117761 天前
水体渲染系统(html开源)
前端·开源·threejs·水体渲染
程序员小李白1 天前
CSS 盒子模型
前端·css·html