是否可以重命名文件夹而不需要创建新目录,将文件复制到新目录,然后删除旧目录?
此过程需要几分钟才能完成,我不得不使用批处理脚本来重命名文件夹,我更倾向于由Grunt处理。通过Node文档查看,似乎没有办法重命名文件夹,类似于' mv'或者重命名'命令工作。
用例是在内部网站点上使用Grunt加快部署工作流程。我希望最短的停机时间,2分钟的停机时间来复制文件并不理想。
我在www / test上将我的网站放在服务器上。
然后我将www / prod重命名为www / archived
然后将www / test重命名为www / prod,使新网站生效。
答案 0 :(得分:0)
使用grunt-shell解决了我的问题,但是你必须警告未来的开发人员shell命令适用于哪个平台,在我看来是Windows。
shell: {
options: {
stderr: false
},
'archiveToDelete': {
command: 'rename <%= yeoman.winserver %>\archived delete-this'
},
'liveToArchive': {
command: 'rename <%= yeoman.winserver %>\prod archived'
},
'deployToLive': {
command: 'rename <%= yeoman.winserver %>\test prod'
},
}
答案 1 :(得分:0)
我认为您正在寻找https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback 这将做一个&#39; mv&#39;等效命令。
答案 2 :(得分:0)
不是直接的答案,但对于这个完全相同的任务,我更喜欢使用符号链接而不是重命名:
这样我就可以获得尽可能多的档案,而且我确切知道文件的部署时间。
在grunt中,我使用了grunt-contrib-symlink
和grunt-contrib-clean