如何使用chmod和Node.js

如何使用chmod与Node.js?

在包fs中有一个方法,它应该这样做,但我不知道它需要作为第二个参数。

fs.chmod(path,mode,[callback])

Asynchronous chmod(2). No arguments other than a possible exception are given to the completion callback.

fs.chmodSync(path,mode)

Synchronous chmod(2).

(从Node.js documentation)

如果我做的事情

fs.chmodSync('test',0755);

没有发生任何事情(文件不改变到那个模式)。

fs.chmodSync('test','+x');

也不工作。

我正在一个Windows机器btw。

解决方法

根据它的源代码 /lib/fs.js在线508

fs.chmodSync = function(path,mode) {
  return binding.chmod(pathModule._makeLong(path),modeNum(mode));
};

和线203:

function modeNum(m,def) {
  switch (typeof m) {
    case 'number': return m;
    case 'string': return parseInt(m,8);
    default:
      if (def) {
        return modeNum(def);
      } else {
        return undefined;
      }
  }
}

它需要一个八进制数或字符串

例如

fs.chmodSync('test',0755);
fs.chmodSync('test','755');

它不适用于您的情况,因为文件模式仅存在于* nix机器上。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...