传递字符串时的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'
谢谢,
【问题讨论】:
dijit
和 dijit/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 - Mongodb - Mongoose / 无法将数组字符串传递到 $push feild
在node.js中使用fs模块复制文件夹报错“no such file or directory, mkdir“
Node.Js AWS SES - 发送电子邮件时的 ETIMEDOUT