Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   require как в ноде (https://javascript.ru/forum/project/25840-require-kak-v-node.html)

Nekromancer 19.02.2012 01:29

Цитата:

Сообщение от FINoM
Эм, кеширование, обычно, делают на сервере.

Кеширование обычно делают везде. Если брать ту ситуацию о которой вам сказали, речь идёт о том, что не нужно загружать несколько раз данные с сервера, которые заведомо не поменяются в период сессии. Лёгкий кеш в общем то.
Цитата:

Сообщение от FINoM
Nekromancer, а какой подход по-твоему был бы хорош?

Ну, так уж сложилось, что я сейчас занят разработкой такого проекта по месту работы, по этому всё не расскажу.
Во первых конечно система модулей должна быть от части уникальной, для той или иной архитектуры сервера.
Во вторых должна быть какая то система, а не как например попытки вконтакт сделать нечто подобное.
Хороший пример в Яндексе, во внутреннем коде не копался, но это наверно единственные кто для синхронной загрузки модуля используют document.write. Это именно тут случай, когда нужен это инструмент.
Ещё просматривал всякие реализации, даже посмотрел видео презентацию от "ведущего" разработчика в мейл.ру. Меня вот например не могло не "порадовать" исполнение кода через onclick и называя это всё "возможностью из коробки".

FINoM 19.02.2012 02:09

Цитата:

Сообщение от Nekromancer
Если брать ту ситуацию о которой вам сказали, речь идёт о том, что не нужно загружать несколько раз данные с сервера, которые заведомо не поменяются в период сессии.

Кеширование должно делаться средствами сервера, то бишь заголовками, если ты не в курсе.
Цитата:

Сообщение от Nekromancer
Ну, так уж сложилось, что я сейчас занят разработкой такого проекта по месту работы, по этому всё не расскажу.

Когда будет возможность расскажи.

Nekromancer 19.02.2012 02:55

Цитата:

Сообщение от FINoM
Кеширование должно делаться средствами сервера, то бишь заголовками, если ты не в курсе.

Прости, но по моему ты не в курсе. Кеширование это не только кеширование заголовками. Можешь почитать про эту тему на данном ресурсе, можешь на любом другом.
Да, вот ещё. Почему должно? Кеширование заголовками это один способ, но не единственный.
Например часто можно на вопрос - Почему сервер не присылает Etag? - услышать, - А зачем? Last-Modified достаточно.
А ещё аргументируют это лишней нагрузкой на сервер :)

FINoM 19.02.2012 03:47

Цитата:

Сообщение от Nekromancer
Прости, но по моему ты не в курсе. Кеширование это не только кеширование заголовками. Можешь почитать про эту тему на данном ресурсе, можешь на любом другом.

Я не понимаю зачем в данном случае кеширование. Типа дурак два раза вызовет модуль? Не так уж и страшно, как по мне. Или ты имеешь в виду кеширование в одном из локальных хранилищ? Если да, то я не просто не согласен, а еще и удивлен. Или ты вообще не об этом? Просто выражайся яснее, кеширование — понятие растяжимое.

Riim 19.02.2012 04:57

Цитата:

Сообщение от FINoM
Типа дурак два раза вызовет модуль?

это как бы обычная ситуация, не знаю как на клиенте, но в nodejs у меня ко многим модулям, например, fs подключается (т. е. подгрузка одних модулей внутри других, что-то вроде описания зависимостей).

FINoM, и вообще ты так споришь против кеширования, как будто это что-то сложное, там же 2 строчки дописать и готово.

FINoM 19.02.2012 05:02

Цитата:

Сообщение от Riim
FINoM, и вообще ты так споришь против кеширования, как будто это что-то сложное, там же 2 строчки дописать и готово.

Вот именно, я то тут причем :D
Как кажется правильным так и пишу.

Riim 19.02.2012 05:05

Цитата:

Сообщение от FINoM
Как кажется правильным так и пишу

ну так ты исключаешь для себя вот это:
Цитата:

Сообщение от Riim
т. е. подгрузка одних модулей внутри других, что-то вроде описания зависимостей

, или нет?

FINoM 19.02.2012 05:15

Riim, мне тупо было интересно как зареквайрить скрипт подобно ноде. Я сделал то что хотел.
А здесь можно добавить очень много полезных вещей, как вызов сразу нескольких модулей (как в requirejs), совмещение нескольких модулей в одном, пресловутое кеширование... Но делать это просто лень. Я не для использования писал этот код, а для того, чтоб показать забавную вещицу (по крайней мере, для меня забавную). Если хотите большего, не проблема, пишите, я не накладываю никаких ограничений на свой код :D

Kolyaj 19.02.2012 09:41

Цитата:

Сообщение от Nekromancer
Хороший пример в Яндексе, во внутреннем коде не копался, но это наверно единственные кто для синхронной загрузки модуля используют document.write.

Это где?

Nekromancer 19.02.2012 11:00

Kolyaj,
Это в Яндекс картах, флаг useDocumentWrite.


Часовой пояс GMT +3, время: 12:10.