传递字符串时的node.js mkdir enonent

Posted

技术标签:

【中文标题】传递字符串时的node.js mkdir enonent【英文标题】:node.js mkdir enonent when passed a string 【发布时间】:2014-05-07 09:49:40 【问题描述】:

我正在尝试使用字符串构建文件夹,但我一直出错,一切看起来都很好,但我显然遗漏了一些东西,任何帮助都会很棒。

var setFile = 'dijit/analysis/images/'
folders = setFile.substr(0,setFile.lastIndexOf('/'));

fs.mkdir(folders, function(err)
  console.log('problem: ' + err);
);

错误: Error: ENOENT, mkdir 'dijit/analysis/images'

谢谢,

【问题讨论】:

dijitdijit/analysis 目录是否已经存在?您是否正在寻找npmjs.org/package/mkdirp? 【参考方案1】:

fs.mkdir 只能建立一个文件夹。您正在尝试在不存在的文件夹中创建一个文件夹。这个问题可以通过 npm 的fs-extra 模块解决。以下代码应该可以满足您的需求。

var setFile = 'dijit/analysis/images/',
    fsExtra = require('fs-extra'),
    folders = setFile.substr(0, setFile.lastIndexOf('/'));

fsExtra.mkdirp(folders, function(err) 
    console.log('problem: ' + err);
);

【讨论】:

【参考方案2】:

Kundu 的评论回答了这个问题,但如果你想要一个不同的解决方案,How to create full path with node's fs.mkdirSync? 有很多解决方案

【讨论】:

以上是关于传递字符串时的node.js mkdir enonent的主要内容,如果未能解决你的问题,请参考以下文章

将消息从 Node.js 传递到外部系统?

Node.js - Mongodb - Mongoose / 无法将数组字符串传递到 $push feild

在node.js中使用fs模块复制文件夹报错“no such file or directory, mkdir“

Node.Js AWS SES - 发送电子邮件时的 ETIMEDOUT

使用 mocha 进行测试时的 Node.js CronJob 执行

连接到 AWS-SDK 时的 Node.js 303 永久重定向