我想将我的根文件夹中的空目录复制到新的初始化项目中。我想这样做,为新项目提供初始目录结构。
我在'my-template / root /'文件夹中有这样的空目录,但不会被以下内容复制:
// Files to copy (and process).
var files = init.filesToCopy(props);
// Actually copy (and process) files.
init.copyAndProcess(files, props);
我试过了:
// to copy also the empty directories
init.copy('myDir1/');
init.copy('myDir2/');
但是grunt-init崩溃了:
Error: Unable to read "grunt-init-example/root/myDir1/" file (Error code: EISDIR).
我要做什么,将空目录放到目标文件夹中?
我使用grunt@0.4.0和grunt-init@0.2.0。
答案 0 :(得分:3)
受到Nick Mitchinson答案的启发,我使用了这种解决方法:
// module dependencies
var join = require("path").join;
// empty directories will not be copied, so we need to create them manual
grunt.file.mkdir( join(init.destpath(), 'myDir1') );
grunt.file.mkdir( join(init.destpath(), 'myDir2') );
<强>更新强>
替代解决方案是将.gitkeep
个文件添加到空目录中。目录不再是空的,将与filesToCopy()一起列出。
有关.gitkeep
的更多详情,请查看此处:https://stackoverflow.com/a/7229996/496587
答案 1 :(得分:2)
试着看看这个this article
与创建目录相关的部分是:
var root = path.normalize(__dirname+"/relative/path/you/want");
grunt.file.mkdir(root);
但是,阅读整篇文章可能会很好。
答案 2 :(得分:0)
我在要复制的空文件夹中创建一个空 __ empty_file.txt 文件。 在我的template.js文件中,我执行以下操作: