javascript - readdirsync - nodejs open file
nodejs fs.exists() (4)
Aquí hay una solución que utiliza bluebird para reemplazar lo existente.
var Promise = require("bluebird")
var fs = Promise.promisifyAll(require(''fs''))
fs.existsAsync = function(path){
return fs.openAsync(path, "r").then(function(stats){
return true
}).catch(function(stats){
return false
})
}
fs.existsAsync("./index.js").then(function(exists){
console.log(exists) // true || false
})
Estoy tratando de llamar a fs.exists
en un script de nodo pero me sale el error:
TypeError: El objeto # no tiene ningún método ''existe''
He intentado reemplazar fs.exists()
con require(''fs'').exists
e incluso require(''path'').exists
(por si acaso), pero ninguno de estos incluso enumera el método exists()
con mi IDE. fs
se declara en la parte superior de mi script como fs = require(''fs'');
y lo he usado previamente para leer archivos.
¿Cómo puedo llamar exists()
?
Deberías estar usando fs.stats
o fs.access
en fs.access
lugar. Desde la documentación del nodo , existe está en desuso (posiblemente eliminado).
Si está intentando hacer algo más que verificar la existencia, la documentación dice que use fs.open
. A ejemplo
fs.access(''myfile'', (err) => {
if (!err) {
console.log(''myfile exists'');
return;
}
console.log(''myfile does not exist'');
});
NO use fs.exists http://nodejs.org/api/fs.html#fs_fs_exists_path_callback
Esta es la alternativa sugerida: adelante, abra el archivo y luego maneje el error, si existe:
var fs = require(''fs'');
var cb_done_open_file = function(interesting_file, fd) {
console.log("Done opening file : " + interesting_file);
// we know the file exists and is readable
// now do something interesting with given file handle
};
// ------------ open file -------------------- //
// var interesting_file = "/tmp/aaa"; // does not exist
var interesting_file = "/some/cool_file";
var open_flags = "r";
fs.open(interesting_file, open_flags, function(error, fd) {
if (error) {
// either file does not exist or simply is not readable
throw new Error("ERROR - failed to open file : " + interesting_file);
}
cb_done_open_file(interesting_file, fd);
});
Su declaración de requerimiento puede ser incorrecta, asegúrese de tener lo siguiente
var fs = require("fs");
fs.exists("/path/to/file",function(exists){
// handle result
});
Lea la documentación aquí