LINUX.ORG.RU

Nodejs как лучше отдавать статику?

 ,


0

1

Полазил по инету, обычно рекомендуют для этого модули, такие как express и пр. Я не стал забивать голову, сделал вот так

http=require("http")
fs=require("fs")
http.Server(function(req, res){
   fs.readFile("./img.jpg", function(err, data){if(err) console.log(err); res.write(data); res.end()})
}).listen(8888)


Вроде работает. Хотелось бы узнать, какие недостатки у такого способа? Может в плане производительности, или еще что-то?



Последнее исправление: cetjs2 (всего исправлений: 3)

.listen(8888)

Если перед нодой стоит нжынкс, который ей запросы проксирует, то может статику-то им раздавать?

yoghurt ★★★★★
()
Ответ на: комментарий от ritsufag

Я знаю, но интересует именно сабж на данный момент.

anonimous
() автор топика
Ответ на: комментарий от Deleted

Я спрашиваю, есть ли недостатки какие-нибудь, если я буду отдавать не через модули, а вот-так просто read/write. Может там в этих экспрессах какие-то оптимизации, или еще что-нибудь. Не будет ли тормозов при таком подходе(не считая синхронности) Скор меня не интересует, он в минуса давно ушел.

anonimous
() автор топика

Заголовки, кеширование на браузере, докачка, файлы на много ГБ.

goingUp ★★★★★
()

fs.readFileSync

либо не пиши на ноде, либо осиль её философию (ссылок в гугле - мильйоны)

anonimous

черт, опять ты. как такой жир мог дожить до сего момента?

dib2 ★★★★★
()
Последнее исправление: dib2 (всего исправлений: 1)
Ответ на: комментарий от dib2

Я в курсе, это просто для примера, вопрос не в асинхонности, а в самом read/write. Сейчас исправлю, чтобы не отвлекало.

anonimous
() автор топика
Ответ на: комментарий от anonimous

тогда лучше добавь кеширование файлов в RAM, если мелкие - чтение с диска всегда узкое место

dib2 ★★★★★
()
Последнее исправление: dib2 (всего исправлений: 1)

Nodejs как лучше отдавать статику?

джинксом

waker ★★★★★
()

Хоть бы через пайпы сделал, что ли.

bj
()

Хотелось бы узнать, какие недостатки у такого способа?

Недостаток один и фатальный. Отдавать статику сервером, который должен отдавать динамику. Перед нодой должен стоять nginx и отдавать сам всё, что можно отдать не дёргая ноду.

Alve ★★★★★
()

Вроде сам «создатель» как-то говорил, что nginx лучший способ.

umren ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.