web-dev-qa-db-ja.com

readFileSyncは関数ではありません

私はNode.jsが比較的新しいので、周りを見回していますが、解決策が見つかりません。必要なjavascriptファイルをチェックしましたが、「readFileSync」のメソッドがないようです。おそらく、適切なrequireファイルがありませんか?私はこのファイルを見つけるのに苦労しました、どこでもそれについて話しましたが、ほとんどの人はそれをどこで入手するかを投稿しませんでした。

Node.jsをインストールし、require.jsファイルを用意しました。私の現在のコードは次のようなものです:

fs = require(['require'], function (foo) {
//foo is now loaded.
});
console.log("\n *STARTING* \n");
// Get content from file
var contents = fs.readFileSync("sliderImages", 'utf8');

最初はrequireが動作するようになりましたが、require JavaScriptファイルをロードしているようです。私はガイドに従っていますが、なぜこのエラーが発生するのか分かりません:

不明なTypeError:fs.​​readFileSyncは関数ではありません

私は多くの修正を試みましたが、これを解決できないようです。

21
L1ghtk3ira

Node.jsは Require.js を使用しません。 Require.jsは、クライアント側(ブラウザー内)で非同期モジュールをロードできるように構築されました。

Node.jsは CommonJS スタイルモジュールを使用します。 CommonJSを使用するコードは次のようになります。

var fs = require('fs');
console.log("\n *STARTING* \n");
var contents = fs.readFileSync("sliderImages", "utf8");

これをmain.jsというファイルに保存すると仮定すると、コンソールに次のコマンドを入力します(ファイルと同じディレクトリにいることを確認してください)。

node main.js

このコードはブラウザで実行されません。 Node.jsはサーバー上で実行されます。ブラウザ側でJSONファイルをロードする場合は、AJAXを使用してロードする必要があります。 多数のリソースがあります これを行う方法を示すために利用可能です。サーバーからページを実行するか、ファイルシステムからファイルを読み込むための特別なフラグを有効にする必要があることに注意してください。

14
Mike Cluck