如何以递归方式删除Meteor中的目录?

时间:2015-01-09 21:02:53

标签: meteor directory rm

使用Meteor以递归方式删除目录的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

使用现有的npm模块,例如rimraf。以下是从空项目开始的方式:

$ meteor add meteorhacks:npm meteorhacks:async
$ meteor

一旦流星开始,停止它并编辑packages.json看起来像:

{
  "rimraf": "2.2.8"
}

然后在server目录下的文件中添加这样的内容:

var removeDirectory = Async.wrap(Meteor.npmRequire('rimraf'));

Meteor.startup(function() {
  removeDirectory('/dir/to/remove');
});

你猜对了/dir/to/remove,你想要递归删除的目录。

答案 1 :(得分:0)

我是这样做的(在CoffeeScript中):

fs = requre('fs')

_emptyDirectory = (target) ->
  _rm(path.join(target, p)) for p in fs.readdirSync(target)

_rm = (target) ->
  if fs.statSync(target).isDirectory()
    _emptyDirectory(target)
    fs.rmdirSync(target)
  else
    fs.unlinkSync(target)