gpt4 book ai didi

javascript - 在 sitelet 中管理资源

转载 作者:行者123 更新时间:2023-11-29 19:34:45 25 4
gpt4 key购买 nike

我开始学习 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 ()

文档继续说该属性可以放置在模块、类型和(模块级别)let 绑定(bind)上,WebSharper 将构建一个依赖关系图以确定给定页面(操作)是否需要依赖关系。我已经尝试了一些方法(使用 Twitter Bootstrap 资源声明),但我要完成这项工作的唯一方法是 assembly 属性。

有人可以举例(或提供链接)说明如何正确使用 [<Require>]属性以便它被添加到一个 Action,而不是另一个?

供引用,这里是 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,这会使它变得多余。)

最佳答案

拥有[<Require(typeof<JQuery.Resources.JQuery>)>]不是多余的,因为它告诉 WebSharper 始终在当前定义的资源之前包含 JQuery。

Require引用的 dll 中程序集级别的属性不会自动将资源添加到为特定操作返回的页面,仅当程序集从 Web.Control 之一引用时用于页面的类型。对于较小的范围,它的工作原理相同:[<Require(typeof<MyResource>)>]在模块、函数或类型上。

关于javascript - 在 sitelet 中管理资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25658980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com