Всем привет,
пишу ВФ страницу с "высоким содержанием" Javascript. Достигаю момента, когда базовый функционал уже работает, "от сердца отлегло" и появилось желание навести немного порядка, привести содержание страницы в "человеческий вид", и в первую очередь вывести Javascript в отдельный файл, который в СФ будет одним из Static Resource (еще можно вывести Javascript и CSS в отдельные ВФ компоненты и включить их в страницу).
ОК, выводим Javascript в Static Resource. Но как дальше с ним работать?
Возьмем, например, "традиционные" IDE, такие как Eclipse и Консоль разработчика.
В Эклипсе Static Resource, содержащий Javascript, открывается просто серым куском текста без всякой подсветки и прочего, что не удивительно, так как расширение у файла ".resource", кроме того я не уверен что в базовой версии Эклипсе есть стандартный функционал для работы с Javascript.
Кто-нибудь помнит как работать с Javascript в Эклипсе в целом и с Javascript в виде Static Resource в частности?
в Консоли разработчика немного веселее:
сначала Static Resource вообще не открывается вот с такой ошибкой:
Only resources with a MIME Type of application/javascript, text/javascript, application/xml, text/xml, text/css, text/plain can be opened. The resource my_js has a MIME type of application/x-javascript.
contentType не меняется через UI, так что меняем его в ".resource-meta.xml", сохраняем, перегружаем консоль, и вот теперь открывается.
Есть базовая подсветка, что уже лучше, но тем менее Консоль не выглядит лучшим местом для работы с javascript.
Может у вас есть больше опыта с работой с javascript в консоли, и есть мысли поделится?
Кстати, а какая разница между MIME type application/x-javascript и application/javascript?
Как вы работаете с Javascript-ом в виде Static Resource? Какие IDE используете?
PS: также, как я понимаю, полностью убрать javascript с ВФ страницы в отдельные файле не получится: например, я должен передать ВФ переменную как аргумент в javascript функцию, и это не работает во "внешнем" скрипте
Я привык работать с mavensmate плагином. Там в меню(ctrl+shift+p) есть простые 2 комманды:
Правда, наверное, уже пора искать ему замену из-за прекращения поддержки.
Всё правильно.
В MM и в IC2 есть возможность работать с содержимым статик ресурса как с обычной папкой. Погугли и узнаешь как это просто и полезно.
На счет убрать - можно и весь JS убрать со страницы. А если хочется передавать переменные из Apex, то их можно тупо вывести в любой html тег на страницу, а в JS (который в статик ресурсе) считать. Это может быть как простой скрытый div, или к примеру meta тег в хедере.
vs code поддерживает вроде работу со статик ресурсами напрямую (даже с зип архивами).
я пытаюсь на него пересесть с мавенс мейта - пока все еще очень не удобно.
толкового запуска тестов или code coverage еще не прикрутили.
отказался от идеи хранить Javascript и CSS в Static Resource:
(1) Static Resource с Javascript хоть и открывается в Дев Консоли, но категорически не хочет сохраняться;
(2) Опять таки референсы не работают в Static Resource, например CSS со ссылкой на картинку в Static Resource не будет работать.
проще вывести Javascript и CSS в отдельные ВФ компоненты, включить их в страницу, и уже работать с ВФ компонентами
Ты еще работаешь в девконсоли??????????????????
Разве не работает? Вроде ж работает. НО в пределах одного ZIP архива. Надо просто путь указывать относительный текущего файла, а не абсолютный (который начинается с "/")
вот так действительно будет работать