node14+
可以搭配脚手架工具实现自动实现删除
// 引入path模块,用于处理文件路径
const path = require('path');
// 引入fs模块的promises API,用于异步文件操作
const fs2 = require('fs').promises;
// 引入fs模块,用于同步文件操作
const fs = require('fs');
/**
* 异步删除文件夹函数
* @param {string} folderPath - 要删除的文件夹路径
*/
async function deleteFolder(folderPath) {
try {
// 使用rmdir方法异步删除文件夹,设置{ recursive: true }以递归删除文件夹及其内容
await fs2.rmdir(folderPath, { recursive: true });
console.log(`成功删除文件夹: ${folderPath}`);
} catch (err) {
// 捕获错误
if (err.code === 'ENOENT') {
// 如果错误代码是ENOENT,表示文件夹不存在
// 在我们的上下文中,这不是一个错误
console.log(`文件夹不存在: ${folderPath},无需删除。`);
} else {
// 如果发生其他错误
console.error(`删除文件夹时出错: ${folderPath}`, err);
}
}
}
/**
* 主函数
*/
async function main() {
// 要删除的文件夹名称数组
const foldersToDelete = [
'wps-addon-build',
'wps-addon-publish'
];
// 遍历要删除的文件夹数组
for (const folder of foldersToDelete) {
// 使用path.join方法将当前脚本所在目录与文件夹名称拼接成完整路径
const fullPath = path.join(__dirname, folder);
// 调用deleteFolder函数异步删除文件夹
await deleteFolder(fullPath);
}
// 处理ZIP文件,与之前的方式相同
// 使用path.join方法将当前脚本所在目录与ZIP文件名称拼接成完整路径
const zipFilePath = path.join(__dirname, 'wps-addon-build.zip');
// 使用fs.existsSync方法同步检查ZIP文件是否存在
if (fs.existsSync(zipFilePath)) {
try {
// 如果ZIP文件存在,使用fs.unlinkSync方法同步删除文件
fs.unlinkSync(zipFilePath);
console.log('文件已成功删除(同步)');
} catch (err) {
// 捕获删除文件时的错误
console.error('删除文件时出错(同步):', err);
}
} else {
// 如果ZIP文件不存在
console.log('ZIP文件不存在,无需删除。');
}
}
// 调用主函数,并捕获可能发生的错误
main().catch(err => {
console.error('主函数出错:', err);
});
最后
如果对您有帮助,希望能给个👍评论收藏三连!
想跟博主交朋友的可以通过查找,公_号❤:前端老实人,获取更多资料~。
博主为人老实,无偿解答问题,欢迎随时交流♥