Регистрация  |  Вход

Как работать с Javascript-ом в Static Resource

Всем привет,

пишу ВФ страницу с "высоким содержанием" 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 функцию, и это не работает во "внешнем" скрипте

Всем привет,

пишу ВФ страницу с "высоким содержанием" Javascript. Достигаю момента, когда базовый функционал уже работает, "от сердца отлегло" и появилось желание навести немного порядка, привести содержание страницы в "человеческий вид", и в первую очередь вывести Javascript в отдельный файл, который в СФ будет одним из Static Resource (еще можно вывести Javascript и CSS в отдельные ВФ компоненты и включить их в страницу).

ОК, выводим Javascript в Static Resource. Но как дальше с ним работать?

Возьмем, например, "традиционные" IDE, такие как Eclipse и Консоль разработчика.

В Эклипсе Static Resource, содержащий Javascript, открывается просто серым куском текста без всякой подсветки и прочего, что не удивительно, так как расширение у файла ".resource", кроме того я не уверен что в базовой версии  Эклипсе есть стандартный функционал для работы с  Javascript.

Кто-нибудь помнит как работать с Javascript в Эклипсе в целом и с Javascript в виде  Static Resource в частности?

в Консоли разработчика немного веселее:
сначала Static Resource вообще не открывается вот с такой ошибкой:
[i]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.
[/i]

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 комманды:


  • create resource bundle
  • (распаковать нужный статик ресурс в отдельную папку)
  • deploy resource bundle
  • (задеплоить статик ресурс с последними изменениями)

Правда, наверное, уже пора искать ему замену из-за прекращения поддержки.

Den Brown
PS: также, как я понимаю, полностью убрать javascript с ВФ страницы в отдельные файле не получится: например, я должен передать ВФ переменную как аргумент в javascript функцию, и это не работает во "внешнем" скрипте

Всё правильно.

Я привык работать с mavensmate плагином. Там в меню(ctrl+shift+p) есть простые 2 комманды:
[list]
[*] create resource bundle (распаковать нужный статик ресурс в отдельную папку)
[*] deploy resource bundle (задеплоить статик ресурс с последними изменениями)
[/list]

Правда, наверное, уже пора искать ему замену из-за прекращения поддержки.

[quote="Den Brown"]PS: также, как я понимаю, полностью убрать javascript с ВФ страницы в отдельные файле не получится: например, я должен передать ВФ переменную как аргумент в javascript функцию, и это не работает во "внешнем" скрипте[/quote]

Всё правильно.

В MM и в IC2 есть возможность работать с содержимым статик ресурса как с обычной папкой. Погугли и узнаешь как это просто и полезно.

На счет убрать - можно и весь JS убрать со страницы. А если хочется передавать переменные из Apex, то их можно тупо вывести в любой html тег на страницу, а в JS (который в статик ресурсе) считать. Это может быть как простой скрытый div, или к примеру meta тег в хедере.

В MM и в IC2 есть возможность работать с содержимым статик ресурса как с обычной папкой. Погугли и узнаешь как это просто и полезно.

На счет убрать - можно и весь JS убрать со страницы. А если хочется передавать переменные из Apex, то их можно тупо вывести в любой html тег на страницу, а в JS (который в статик ресурсе) считать. Это может быть как простой скрытый div, или к примеру meta тег в хедере.

vs code поддерживает вроде работу со статик ресурсами напрямую (даже с зип архивами).
я пытаюсь на него пересесть с мавенс мейта - пока все еще очень не удобно.
толкового запуска тестов или code coverage еще не прикрутили.

vs code поддерживает вроде работу со статик ресурсами напрямую (даже с зип архивами). 
я пытаюсь на него пересесть с мавенс мейта - пока все еще очень не удобно.
толкового запуска тестов или code coverage еще не прикрутили.

отказался от идеи хранить Javascript и CSS в Static Resource:

(1) Static Resource с Javascript хоть и открывается в Дев Консоли, но категорически не хочет сохраняться;
(2) Опять таки референсы не работают в Static Resource, например CSS со ссылкой на картинку в Static Resource не будет работать.

проще вывести Javascript и CSS в отдельные ВФ компоненты, включить их в страницу, и уже работать с ВФ компонентами

отказался от идеи хранить Javascript и CSS в Static Resource:

(1) Static Resource с Javascript хоть и открывается в Дев Консоли, но категорически не хочет сохраняться;
(2) Опять таки референсы не работают в Static Resource, например CSS со ссылкой на картинку в Static Resource не будет работать.

проще вывести Javascript и CSS в отдельные ВФ компоненты, включить их в страницу, и уже работать с ВФ компонентами

Den Brown
в Дев Консоли

Ты еще работаешь в девконсоли??????????????????

Den Brown
Опять таки референсы не работают в Static Resource, например CSS со ссылкой на картинку в Static Resource не будет работать.

Разве не работает? Вроде ж работает. НО в пределах одного ZIP архива. Надо просто путь указывать относительный текущего файла, а не абсолютный (который начинается с "/")

[quote="Den Brown"]в Дев Консоли[/quote]
Ты еще работаешь в девконсоли??????????????????
[img]https://az705183.vo.msecnd.net/onlinesupportmedia/onlinesupport/media/skype/fa100xx/surprised_40x40.gif[/img]

[quote="Den Brown"]Опять таки референсы не работают в Static Resource, например CSS со ссылкой на картинку в Static Resource не будет работать.[/quote]
Разве не работает? Вроде ж работает. НО в пределах одного ZIP архива. Надо просто путь указывать относительный текущего файла, а не абсолютный (который начинается с "/")

Dmitry Shnyrev
в пределах одного ZIP архива

вот так действительно будет работать

[quote="Dmitry Shnyrev"]в пределах одного ZIP архива[/quote]
вот так действительно будет работать