fs.readFile('./blogs/test.md', function (err, data) {
if (err) res.send(err);
res.send(data);
});
編碼完工~切換到終端,輸入 nodemon app.js
哦對了,強烈推薦一個小工具 nodemon 。一句話簡介:全局安裝了nodemon后,我們可以通過nodemon xxx.js的方式啟動nodejs程序如绸,而在此方式下啟動的程序會自動偵測與本程序相關的文件,隨時自動重啟進程以反映最新的變化旭贬。實乃nodejs開發(fā)debug過程中必備利器
言歸正傳怔接,我志得意滿的打開chrome瀏覽器訪問localhost:3000,意料中的文字卻沒有出現(xiàn)稀轨,反而彈出了一個文件下載詢問框扼脐。shit!誰告訴我send()方法會自動推定Content-Type的0卸恕谎势?打開網(wǎng)絡偵測一看凛膏,果不其然,返回的Content-Type是 application/octet-stream脏榆。(經(jīng)測試猖毫,在FireFox中同樣提示下載文件,有點搞笑的是须喂,IE11倒是老老實實的直接在頁面顯示了文件內(nèi)容...IE大哥你怎么老跟別人不一樣啊...)
Well~我重新翻閱了nodejs的文檔吁断,對于fs.readFile(path, callback (err, data))的解釋最后有一句話:
If no encoding is specified, then the raw buffer is returned.
得得~這就是看文檔不仔細的后果。查閱上文表格可見坞生,buffer對應的content-type確實是application/octet-stream來著仔役,修改代碼:
fs.readFile('./blogs/test.md', 'utf-8', function (err, data) {
if (err) res.send(err);
res.send(data);
});