Я начинаю свой путь обучения WebSharper, и я нахожу управление ресурсами (например, css и javascript-файлами) немного запутанным.Управление ресурсами в профайле
documentation на это дает декларацию пример ресурс
type MyResource() =
inherit Resources.BaseResource("http://my.cdn.net",
"file1.js", "file2.js", "file3.css")
и вы можете поместить атрибут [<Require>]
на сборке, чтобы сделать ресурс на каждой странице на сайте:
[<assembly: Require(typeof<MyResource>)>]
do()
В документации далее говорится, что атрибут может быть размещен на модулях, типах и (уровне модуля), позволяя привязкам, а WebSharper будет строить график зависимостей для вычисления ou t, если данная страница (действие) нуждается в зависимости или нет. Я пробовал несколько вещей (используя объявление ресурса Twitter Bootstrap), но единственный способ, которым я получил эту работу, - это атрибут сборки.
Может ли кто-нибудь привести пример (или предоставить ссылку) о том, как правильно использовать атрибут [<Require>]
, чтобы он добавился к одному действию, но не к другому?
Для справки, вот по декларации ресурса Twitter Bootstrap:
[<Require(typeof<JQuery.Resources.JQuery>)>]
[<Sealed>]
type BootstrapResource() =
inherit Resources.BaseResource("https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/",
"css/bootstrap.min.css", "js/bootstrap.min.js")
(я получаю, что [<Require]>
атрибут здесь здесь делает его зависимость ресурса Bootstrap, хотя я думаю, что WebSharper включает JQuery в любом случае, что бы сделать он избыточен.)
Я использую Visual Studio 2013, в котором вы можете редактировать во время отладки, но это не работает. Когда я остановился и перезапустил отладку, атрибут работал как ожидалось. Ах хорошо. :) –
Спасибо за объяснение атрибута 'Require'. Теперь имеет смысл, что вы это объяснили. :) –