Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每次读取文件或加载到array Node.js_Javascript_Node.js - Fatal编程技术网

Javascript 每次读取文件或加载到array Node.js

Javascript 每次读取文件或加载到array Node.js,javascript,node.js,Javascript,Node.js,我需要知道我的想法是否好 我正在组装一个web服务器,它可以传输html文件js文件css文件,这是一种静态web服务器 由于它是静态的,我认为我只需要真正地读取一个文件,然后在开始时将其加载到一个数组中,以减少客户端请求时的文件读取 类似这样的代码 var tttt = [] var server = http.createServer(); server.on("request",function(request, response){ var etret = '/home/bo

我需要知道我的想法是否好

我正在组装一个web服务器,它可以传输html文件js文件css文件,这是一种静态web服务器

由于它是静态的,我认为我只需要真正地读取一个文件,然后在开始时将其加载到一个数组中,以减少客户端请求时的文件读取

类似这样的代码

var tttt = []


var server = http.createServer();
server.on("request",function(request, response){
    var etret = '/home/bob/node-show/big-file.js';

    var setHeader = function(file){

        return {
            'Content-Type': MIME.mime(file),
            'Transfer-Encoding':'chunked',
            'Connection': 'keep-alive'
        };

    }
    if (!tttt[path.basename(etret)]) {
        tttt[path.basename(etret)] = []

        var test = fs.createReadStream(etret)
        test.setEncoding('ascii')
        test.on('data', function(data){
            console.log(data)
            tttt[path.basename(etret)].push(data)
        });
        test.on('close', function(data){
            console.log('sadsad')
            response.writeHead(200, setHeader(etret))
            console.log(tttt[path.basename(etret)].length)
            for (var i = 0; i < tttt[path.basename(etret)].length; i++) {
                response.write(tttt[path.basename(etret)][i])
            };
            var erw = 0
            for (var f = 0; f < tttt[path.basename(etret)].length; f++) {
                erw = (erw + tttt[path.basename(etret)][f].length)
            }
            console.log(erw)
            response.end()
        });
    }else{
        response.writeHead(200, setHeader(etret))
        console.log(tttt[path.basename(etret)].length)
        for (var i = 0; i < tttt[path.basename(etret)].length; i++) {
            response.write(tttt[path.basename(etret)][i])
        };
        var erw = 0
        for (var f = 0; f < tttt[path.basename(etret)].length; f++) {
            erw = (erw + tttt[path.basename(etret)][f].length)
        }
        console.log(erw)
        response.end()
        console.dir(server.connections)
    }
    //return _fontEnd(request, response);
}).listen(8000, function(){
    console.log('HTTP server up');
});
var tttt=[]
var server=http.createServer();
打开服务器(“请求”,函数(请求,响应){
var etret='/home/bob/node show/big file.js';
var setHeader=函数(文件){
返回{
“内容类型”:MIME.MIME(文件),
“传输编码”:“分块”,
“连接”:“保持活动”
};
}
if(!tttt[path.basename(etret)]){
tttt[path.basename(etret)]=[]
var test=fs.createReadStream(etret)
test.setEncoding('ascii')
测试('data',函数(data){
console.log(数据)
tttt[path.basename(etret)].push(数据)
});
测试打开('close',功能(数据){
console.log('sadsad')
response.writeHead(200,setHeader(etret))
console.log(tttt[path.basename(etret)].length)
对于(var i=0;i
big-file.js大约有500kb,将50个文件加载到内存中以保存从硬盘读取的数据是否是一个好主意?

缓存(静态文件)通常是一种常见做法,并且基于node.js的支持缓存。您可以在本文中看到磁盘和RAM之间的I/O成本