在Razor视图中引用JavaScript文件以获取JavaScript Intellisense

Kon*_*tin 18 javascript javascript-intellisense razor

Visual Studio提供JavaScript Intellisense.很明智地看到您在主页中引用JavaScript文件(例如jQuery文件),然后在应用程序的任何视图中提供语句完成.然而,这似乎与Razor无关.有没有办法让这个与Razor一起工作?ASPX视图引擎提供了这个技巧,例如:<% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>

Eil*_*lon 28

你应该可以做这样的事情:

@if (false) {
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
Run Code Online (Sandbox Code Playgroud)

这样,代码将永远不会在应用程序运行时运行,但VS将不知道if (false)<script>代码,因此它将解析标记并允许Intellisense将其考虑在内.在Razor文件中使用Razor注释的问题是VS会识别它们并完全忽略它们内部的任何内容.例如,这不起作用:

@* <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> *@
Run Code Online (Sandbox Code Playgroud)


Dav*_*A-W 9

要防止有关无法访问的代码的编译器警告,您可以使用pragma进一步包装它:

@{ #pragma warning disable }
@if (false) 
{ 
    <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
} 
@{ #pragma warning restore } 
Run Code Online (Sandbox Code Playgroud)