2024-07-10 17:59:21 +08:00
|
|
|
|
|
|
|
const fs = require('fs-extra')
|
|
|
|
const path = require('path');
|
|
|
|
|
|
|
|
// Vite插件函数
|
|
|
|
function vitePluginRemoveDir(options = {}) {
|
|
|
|
// 默认要删除的目录名
|
|
|
|
const { dirName} = options;
|
|
|
|
if(!dirName.length){
|
|
|
|
return {}
|
|
|
|
}
|
|
|
|
return {
|
|
|
|
name: 'vite-plugin-remove-dir', // 插件名称
|
|
|
|
closeBundle(){
|
|
|
|
const distDir = path.resolve(process.cwd(), 'dist');
|
|
|
|
// 构建结束后执行的逻辑
|
|
|
|
for(const item of dirName){
|
2024-07-11 10:09:58 +08:00
|
|
|
const fullPath = path.join(distDir, ['production'].includes(process.env.NODE_ENV) ? 'build' : 'dev',process.env.UNI_PLATFORM,`static/${item}`); // 构造要删除的目录的完整路径
|
2024-07-10 17:59:21 +08:00
|
|
|
console.log('fullPath',fullPath);
|
|
|
|
// 尝试删除目录
|
|
|
|
try {
|
|
|
|
fs.removeSync(fullPath);
|
|
|
|
console.log(`目录${fullPath}成功删除.`);
|
|
|
|
} catch (err) {
|
|
|
|
console.log(`目录${fullPath}删除失败-->${err}`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = vitePluginRemoveDir;
|