Я начинаю свой путь в изучении WebSharper, и я нахожу управление ресурсами (например, файлами css и javascript) немного запутанным.
В документации приведен пример объявления ресурса.
type MyResource() =
inherit Resources.BaseResource("http://my.cdn.net",
"file1.js", "file2.js", "file3.css")
и вы можете поместить атрибут [<Require>]
в сборку, чтобы ресурс отображался на каждой странице сайта:
[<assembly: Require(typeof<MyResource>)>]
do ()
Далее в документации говорится, что атрибут может быть помещен в модули, типы и (на уровне модуля) привязки let, а WebSharper построит граф зависимостей, чтобы выяснить, нужна ли данная страница (Действие) зависимость или нет. Я пробовал несколько вещей (используя объявление ресурса 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, что сделало бы его излишним.)