我是Node的新手,在理解为什么发生此错误TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
时遇到问题
通过运行命令node file-create-directory.js
file-create-directory.js
文件是:
const fs = require('fs');
if(!fs.exists('views')){
fs.mkdir('views',(err) =>{
if(err) return err;
fs.writeFile('./views/new.html','this is a new directory and data', (err) =>{
if(err) return err;
console.log('Directory and file saved');
});
});
}
答案 0 :(得分:2)
首先弃用fs.exists
const fs = require('fs');
fs.access('views', fs.constants.F_OK, (err) => {
// if it does not exists
if(err) {
fs.mkdir('views', (err) => {
if(!err) {
fs.writeFile('./views/new.html', 'this is a new directory and data',
(err) => {
if(err) return err;
console.log('Directory and file saved');
}
});
}
});
但是,如果您决定使用fs.exists
,请使用此
fs.exists('views', (exists) => {
if(!exists) {
fs.mkdir('views',(err) => {
if(err) return err;
fs.writeFile('./views/new.html','this is a new directory and
data', (err) => {
if(err) return err;
console.log('Directory and file saved');
});
});
}
});