0

ファイルを読み取りたいのですが、GETリクエストへの応答として返されます

これが私がしていることです

app.get('/', function (request, response) {
    fs.readFileSync('./index.html', 'utf8', function (err, data) {
        if (err) {
            return 'some issue on reading file';
        }
        var buffer = new Buffer(data, 'utf8');
        console.log(buffer.toString());
        response.send(buffer.toString());
    });
});

index.html

hello world!

page をロードするlocalhost:5000と、ページがスピンしても何も起こりません。ここで間違っていることは何ですか

私はノードの初心者です。

4

1 に答える 1

3

メソッドの同期バージョンを使用しています。それが意図したものである場合は、コールバックを渡さないでください。文字列を返します (エンコーディングを渡す場合):readFile

app.get('/', function (request, response) {
    response.send(fs.readFileSync('./index.html', 'utf8'));
});

代わりに (そして一般的にはより適切に) 非同期メソッドを使用できます (そして、エンコーディングを取り除くことができますBuffer

app.get('/', function (request, response) {
    fs.readFile('./index.html', { encoding: 'utf8' }, function (err, data) {
        // In here, `data` is a string containing the contents of the file
    });
});
于 2013-07-10T14:03:23.230 に答える