Инсайт по библиотеке функций Фиксина
В прошлой статье я написал, что задумался о библиотеке функций в расширении.
Хотел использовать глобальные модули, чтобы писать название функции без имени модуля, но к сожалению, платформа не позволяет: «Использование глобальных серверных общих модулей в расширении недопустимо«.
Я было решил писать все в одном клиент-серверном модуле бфф, но тогда бы пришлось для вызова серверных функций с клиента делать модуль-двойник бффс, который бы просто содержал описания функций и вызывал бы их из бфф. Потому что при вызове клиент-серверного модуля сохраняется сторона — если вызов был с клиента, то модуль работает в клиенте, если с сервера — в сервере.
Недавно мне все же пришел в голову инсайт. Я решил, что серверные функции, которые нельзя описать в клиент-серверном модуле бфф, я опишу в серверном модуле бффс.
По крайней мере это дает два модуля бфф и бффс, а не целый зоопарк для клиентских, серверных и общих функций:

Пожалуй, на такой реализации я и остановлюсь. Заодно отпала необходимость указывать директиву препроцессора «Если Сервер», чтобы выделить те функции бфф, которые работают только на сервере.
Пожалуй, так будет элегантно, насколько это может быть в системе без глобальных функций на сервере.




Свежие комментарии