Node.js如何在当前目录下创建目录
How to create a directory in the current directory in Node.js
我是 Node.js 的新手,所以很多东西我都不熟悉。
所以基本上我想在当前工作目录中创建一个目录:
var mkdirp = require('mkdirp');
console.log("Going to create directory /tmp/test");
mkdirp('/tmp/test',function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
我当前的目录是 Windows 上的 C:\Users\Owner\Desktop\Tutorials\NodeJS
,这意味着我在该目录中 运行 node main.js
。
(main.js 在 C:\Users\Owner\Desktop\Tutorials\NodeJS
中)
在我 运行 代码之后,它生成 C:\tmp\test,它位于 C:\
中。
但是我想在当前目录下创建,所以我想要的结果是C:\Users\Owner\Desktop\Tutorials\NodeJS\tmp\test
.
我只是不知道该怎么做...
您可以使用 process.cwd()
输出执行命令的目录(在您的例子中,您 运行 node main.js
所在的目录)因此您的代码可能如下所示:
var mkdirp = require('mkdirp');
var path = require('path');
console.log("Going to create directory /tmp/test");
mkdirp(path.join(process.cwd(), '/tmp/test'), function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
如果您只需要 main.js
文件所在的目录而不是执行它的目录(通过调用 node main.js
),您可以使用 __dirname
变量而不是 process.cwd()
.
最好使用 path.join()
函数来确保正确设置路径定界符,尤其是当您使用的 Windows 系统可能会将正斜杠视为选项时。
var mkdirp = require('mkdirp');
var path = require('path');
console.log("Going to create directory /tmp/test");
mkdirp(path.join(__dirname, '/tmp/test'),function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
您可以使用 path.join(__dirname, '/tmp/test')
,其中 __dirname
会 return The name of the directory that the currently executing script resides in.
您需要包含模块 'path' 才能使 path.join()
正常工作。
参考
我是 Node.js 的新手,所以很多东西我都不熟悉。 所以基本上我想在当前工作目录中创建一个目录:
var mkdirp = require('mkdirp');
console.log("Going to create directory /tmp/test");
mkdirp('/tmp/test',function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
我当前的目录是 Windows 上的 C:\Users\Owner\Desktop\Tutorials\NodeJS
,这意味着我在该目录中 运行 node main.js
。
(main.js 在 C:\Users\Owner\Desktop\Tutorials\NodeJS
中)
在我 运行 代码之后,它生成 C:\tmp\test,它位于 C:\
中。
但是我想在当前目录下创建,所以我想要的结果是C:\Users\Owner\Desktop\Tutorials\NodeJS\tmp\test
.
我只是不知道该怎么做...
您可以使用 process.cwd()
输出执行命令的目录(在您的例子中,您 运行 node main.js
所在的目录)因此您的代码可能如下所示:
var mkdirp = require('mkdirp');
var path = require('path');
console.log("Going to create directory /tmp/test");
mkdirp(path.join(process.cwd(), '/tmp/test'), function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
如果您只需要 main.js
文件所在的目录而不是执行它的目录(通过调用 node main.js
),您可以使用 __dirname
变量而不是 process.cwd()
.
最好使用 path.join()
函数来确保正确设置路径定界符,尤其是当您使用的 Windows 系统可能会将正斜杠视为选项时。
var mkdirp = require('mkdirp');
var path = require('path');
console.log("Going to create directory /tmp/test");
mkdirp(path.join(__dirname, '/tmp/test'),function(err){
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
您可以使用 path.join(__dirname, '/tmp/test')
,其中 __dirname
会 return The name of the directory that the currently executing script resides in.
您需要包含模块 'path' 才能使 path.join()
正常工作。
参考