2016-12-31 3 views
0

ファイル 'example.js'を読み込んでクライアントに送信するコードがあります。Node.js Express JavaScriptやその他のファイルタイプとしてレスポンスを送信するには

app.get('/mods/example.js', function(req, res) { 
    fs.readFile('./mods/example.js', 
      {encoding: 'utf-8'}, 
      (err, data) => { 
     if (!err) 
     { 
      res.send("var example = new Mod();" + data); 
     } 
    }); 
}); 

問題はどうやってjavascriptファイルとしてレスポンスを送信するのですか?

ファイルをWebブラウザで開くと、javascriptファイルではなくhtmlファイルになります。

ありがとうございます!

+0

thatsあなたが望むものは? res.sendFile( '/ mods/example.js'、{ルート:__dirname}); –

+0

公式ドキュメントの['res.type'](http://expressjs.com/en/4x/api.html#res.type)メソッドを確認してください。 – noisypixy

+0

@AmiHollander res.sendFile関数を使用していない理由は、ファイルの先頭にテキストを追加するなどのコードを使用してファイルの内容を変更する必要があるためです。 –

答えて

0

noisypixyが提案したように、私はres.type関数を使用して、javascriptへの応答のタイプを変更しました。

res.type('.js'); 
res.send("var john = new Human();"); 

などhtmljsonpngなどの他のファイルの種類がたくさんあります。

APIリファレンス(コード例):http://expressjs.com/en/4x/api.html#res.type

+0

こんにちはDavid、私はまたvar something = fs.createReadStream( './ mods/example.js')とsomething.pipe(res)を使って最適化することをお勧めします。 – Cerberus

関連する問題