30

fs.existsノード スクリプトを呼び出そうとしていますが、次のエラーが表示されます。

TypeError: Object # has no method 'exists'

私は(念のため) and でも置き換えようfs.exists()としましたが、どちらも私のIDEでメソッドをリストしていません。はスクリプトの先頭で as として宣言されており、以前はファイルの読み取りに使用していました。require('fs').existsrequire('path').existsexists()fsfs = require('fs');

どうすれば電話できますexists()か?

4

4 に答える 4

26

あなたのrequireステートメントが間違っている可能性があります。次のものがあることを確認してください

var fs = require("fs");

fs.exists("/path/to/file",function(exists){
  // handle result
});

ここでドキュメントを読む

http://nodejs.org/api/fs.html#fs_fs_exists_path_callback

于 2012-11-27T16:59:19.100 に答える
20

代わりにfs.statsorを使用する必要があります。ノードfs.accessのドキュメントから、exists は非推奨です (削除される可能性があります)。

存在を確認する以上のことをしようとしている場合は、ドキュメントに を使用するように記載されていますfs.open。例に

fs.access('myfile', (err) => {
  if (!err) {
    console.log('myfile exists');
    return;
  }
  console.log('myfile does not exist');
});
于 2016-10-05T14:03:55.627 に答える
6

fs.exists を使用しないで ください。代わりに API ドキュメントをお読みください。

これは推奨される代替手段です。先に進んでファイルを開き、エラーがあれば処理します。

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);
});
于 2014-08-14T18:36:46.033 に答える