2016-12-19 8 views
0

エクスプレスを使用して小さなノードサーバーを実行しています。ある時点で、静的なHTMLコンテンツを変数に格納することを決めました。ディスクからサーバーにサービスを提供するのではなく、少し速くそれらを提供します。node-expressサーバー上のサーバー変数に静的HTMLファイルを格納する利点はありますか?

しかし、トピックに関する確固たる情報を探していて、私は失望してしまい、トピックで何かを見つけることができませんでした。したがって、私はこのような話題に関する考え方(あるいは話題の良い読書資料)を求めています。

ベスト、 Fochlac

サンプルコード:

const express = require('express') 
    , app = express() 
    , server = require('http').createServer(app) 
    , server = require('http').createServer(app) 
    , server_port = 8080 
    , server_ip_address = 'localhost'; 

server.listen(server_port, server_ip_address,() => { 
    console.log('listening on port '+ server_port); 
}); 

app.use('/index', express.static('/Public/index.html')); 

/*** vs ***/ 

const index = fs.readFileSync('/Public/index.html').toString(); 

app.get('/index', (req, res, next) => { 
    res.status(200).send(index); 
}); 

答えて

0

ファイルが小さい場合、なぜありませんか?

より安価なhdd ioよりもメモリioを使用する変数にファイルをキャッシュするほうがよいです。

が、ファイルの変更を追跡し、それを再読み込みするために心に留めておく:

const staticFiles = { 
    'index': fs.readFileSync(__dirname+'/Public/index.html').toString(); 
}; 
fs.watch(__dirname+'/Public/index.html',() => { 
    staticFiles.index = fs.readFileSync(__dirname+'/Public/index.html').toString(); 
}); 

app.get('/index', (req, res, next) => { 
    res.status(200).send(staticFiles.index); 
}); 

が、私は特急-静的なミドルウェアがすでにそれをしないと思います。

この読み:http://expressjs.com/en/starter/static-files.htmlと、この:https://github.com/expressjs/serve-static/blob/master/index.js

を私はそれが変数にファイルをキャッシュだことを見ていませんでした。


私はnginxの背後にあるnodejsアプリケーションを使用しているので、すべてのバッファリングと静的ファイルの処理はnginxによって行われるため、この質問は気にしません。

関連する問題