fs.mkdir创建不了多层目录?
最近在实现上一章博客:
《前端性能优化之图片压缩详细流程(工作实用)》
https://blog.youkuaiyun.com/fearlessxmm/article/details/89443129
的时候遇到一个问题:mkdir创建不了目录,总是报找不到该文件的错。
源目录:

在执行gulp任务时,流程中有一个步骤是需要创建dist/img/目录:
主要代码如下:
fs.mkdirSync('dist/img/');

但是,执行任务时,终端报错了:
[22:27:32] Error: ENOENT: no such file or directory, mkdir 'dist/img/'

明明逻辑没错,使用fs.mkdirSync('dist/img/');创建这样一个目录,但是就是报错了。
重点:(敲黑板
查了资料才知道,
目录要一层一层的创建,从源目录截图知道,一开始没有dist文件夹的,所以执行创建目录操作时,是要先创建dist文件夹,再创建子目录img的。
所以修改代码如下:
// 目录要一层一层的创建
fs.mkdirSync('dist/');
fs.mkdirSync('dist/img/');

成功!

总结:
fs.mkdir可以创建多层目录,但是要一层一层地创建。
本文解析了在Node.js中使用fs.mkdirSync创建多级目录时遇到的问题及解决方法。指出mkdirSync不能直接创建不存在的父目录,需逐层创建。
6万+

被折叠的 条评论
为什么被折叠?



