Razor View Engine 하위 페이지의 Javascript Intellisense


Answers

나는 이것에 대한 해결책을 찾기를 희망했다.

내가 찾은 최선의 선택은 항상 외부 js 파일을 사용하는 것입니다. 상단에 Master.js와 같은 파일을 작성하여 참조 경로를 사용하십시오.

/// <reference path="../../Scripts/jquery-1.4.4.js"/>

그럼 당신은 인텔리 센스를 가질 수 있습니다. 새 외부 파일 앞에 jquery 파일을 포함시켜야합니다.

Question

나는 내 'master'cshtml 파일에서 내 참조 된 .js 파일을 '자식'cshtml 파일로 가져 오는 방법을 밟았습니다.

나는 .js 파일이 항상 참조되고 (실제로 master 파일에서 js intellisense를 얻는다.) 마스터 파일에 다음과 같은 내용이있다.

if (false)
{
     <script type="text/javascript" src="../scripts/jquery.js"></script>
}

그러나 'child'페이지에서 master.cshtml 파일을 다음과 같이 참조 할 때 :

@{
    Layout = "~/Views/Shared/master.cshtml";
}

나는 자바 스크립트 intellisense. 나는 각 자식 페이지의 맨 위에 스크립트 태그를 넣고 싶지 않다. 많은 스크립트 태그와 많은 자식 페이지가있다!




따라서 트릭이 작동하지 않는 이유를 파악하는 데 시간을 낭비하지 않아도되므로 유용 할 수 있습니다.

상대 경로를 사용하는 경우 경로가 동일한 응용 프로그램을 가리키는 경우에만 작동합니다. 절대 경로는 모든 경우에 분명히 작동합니다.

reference path="../../Scripts/jquery-1.4.4.js"

위에서 언급 한 스크립트 파일이 동일한 응용 프로그램에있는 한 위의 작동합니다.

reference path="http://localhost/Scripts/jquery-1.4.4.js"

위의 모든 경우에 작동하는 것 같습니다.




Razor 편집기는 현재 어떤 스크립트 파일이 사용 중인지 추측 할 수 없습니다. 이는 Razor 레이아웃 페이지가 코드를 통해 설정되고 편집기가보기 페이지를 실행하지 않기 때문입니다. 불행히도 JavaScript IntelliSense를보기 페이지에서 사용하려면 스크립트 태그를 포함시켜야합니다.