首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-init:如何复制或创建一个空目录?

grunt-init:如何复制或创建一个空目录?
EN

Stack Overflow用户
提问于 2013-03-14 01:36:22
回答 3查看 6.7K关注 0票数 3

我希望将根文件夹中的一个空目录复制到新的初始化项目中。我想这样做,为新项目提供一个初始的目录结构。

我在文件夹'my-template/root/‘中有这样的空目录,但它不会被复制:

代码语言:javascript
复制
    // Files to copy (and process).
    var files = init.filesToCopy(props);

    // Actually copy (and process) files.
    init.copyAndProcess(files, props);

我试过这个:

代码语言:javascript
复制
    // to copy also the empty directories
    init.copy('myDir1/');
    init.copy('myDir2/');

但是grunt-init崩溃的原因是:

代码语言:javascript
复制
Error: Unable to read "grunt-init-example/root/myDir1/" file (Error code: EISDIR).

我该怎么做,才能把空目录放到目标文件夹中?

我使用grunt@0.4.0和grunt init@0.2.0。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-14 16:34:21

受Nick Mitchinson回答的启发,我使用了这个变通方法:

代码语言:javascript
复制
// 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

票数 3
EN

Stack Overflow用户

发布于 2013-03-14 01:53:05

试着看看这个this article

与创建目录相关的部分如下:

代码语言:javascript
复制
var root = path.normalize(__dirname+"/relative/path/you/want");
grunt.file.mkdir(root);

然而,通读这篇文章可能会更好。

票数 2
EN

Stack Overflow用户

发布于 2013-11-25 09:46:06

我在要复制的空文件夹中创建了一个空的__empty_file.txt文件。在我的template.js文件中,我执行了以下操作:

通过将init.filesToCopy(props)返回的(__empty_file.txt)对象迭代到数组中,

  1. 存储与我们的files匹配的文件。
  2. 使用grunt.file.mkdir为上述数组中的每一项创建目录,并从init.filesToCopy.返回的文件引用中删除此文件这必须在调用init.copyAndProcess.

之前调用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15392465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档