2014-09-04 1 views
1

WebSharper를 배우는 데있어 시작하고 있으며, 관리 리소스 (예 : CSS 및 javascript 파일)가 다소 혼란 스럽습니다.sitelet의 리소스 관리

[<assembly: Require(typeof<MyResource>)>] 
do() 
이에

documentation

type MyResource() = 
    inherit Resources.BaseResource("http://my.cdn.net", 
     "file1.js", "file2.js", "file3.css") 

하고 자원을 만들기 위해 어셈블리에 [<Require>] 속성을 배치 할 수 있습니다 사이트에있는 모든 페이지에 표시 예를 들어 자원 선언을 제공합니다

설명서는 모듈, 유형 및 (모듈 수준) 바인딩에 대한 특성을 배치 할 수 있으며 WebSharper는 종속성 그래프를 작성하여 ou 주어진 페이지 (Action)가 의존성을 필요로하는지 여부. 트위터 부트 스트랩 리소스 선언을 사용하여 몇 가지를 시도했지만이 작업을 수행하는 유일한 방법은 어셈블리 특성입니다.

[<Require>] 속성을 올바르게 사용하는 방법에 대한 예제를 제공하거나 링크를 제공하여 다른 액션이 아닌 하나의 액션에 추가되도록 할 수 있습니까?

참고로

, 여기에 트위터 부트 스트랩 자원 선언에 의해입니다 :

[<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") 

(I 내가 만들 것이다, WebSharper 어쨌든 JQuery와 포함 생각하지만, 여기에 [<Require]> 속성이 여기에, 그것을 부트 스트랩 자원의 종속성을 만드는 것을 얻을 중복 됨)

답변

2

[<Require(typeof<JQuery.Resources.JQuery>)>]은 WebSharper에 현재 정의 된 리소스 앞에 항상 JQuery가 포함되도록 알려주기 때문에 중복되지 않습니다.

Require 참조 된 dll의 어셈블리 수준에있는 특성은 해당 페이지에 대해 Web.Control 형식 중 하나에서 참조 된 어셈블리가 사용 된 경우에만 특정 동작에 대해 반환 된 페이지에 리소스를 자동으로 추가하지 않습니다. 모듈, 함수 또는 유형에서 작은 범위 인 [<Require(typeof<MyResource>)>]에 대해서도 동일하게 작동합니다.

+0

디버깅 중에 편집 할 수 있지만 작동하지 않는 Visual Studio 2013을 사용하고 있습니다. 디버깅을 중지했다가 다시 시작하면 특성이 예상대로 작동했습니다. 아 ~. :) –

+0

'Require' 속성에 대한 설명을 해주셔서 감사합니다. 이제 설명 했으니까요. :) –