使用CDN会阻止Intellisense为jQuery工作吗?

时间:2013-06-14 16:00:09

标签: jquery visual-studio intellisense javascript-intellisense vsdoc

我在“jQuery for ASP.NET Developers”中读到这一点:在VS中获取对jQuery的Intellisense支持:“....用于jQuery的VSDoc文件... VSDoc文件...使用与您相同的名称在.js文件扩展名之前插入-vsdoc的JavaScript文件。例如,如果我的jQuery文件名为jQuery-1.3.2.js,那么vsdoc文件将被称为jQuery-1.3.2-vsdocjs .VSDoc文件必须存在在与jQuery文件相同的目录中,以便VS可以找到它。“

这是否意味着对jQuery文件使用CDN会阻止Intellisense工作?

1 个答案:

答案 0 :(得分:5)

您可以使用CDN并在Visual Studio中仍然具有Intellisense支持。有两种方法可以做到这一点:

  1. 向托管的*vsdoc.js文件添加Intellisense引用 在CDN上。转到Tools | Options

    Options dialog

    请注意,您需要为每个 *vsdoc.js创建一个条目 你想用。

  2. 如果您知道*vsdoc.js文件与CDN上的js文件位于同一目录中(就像它在ASP.NET CDN上一样), AND < / em>您正在使用MVC,您只需更新_references.js文件即可反映:
  3. /// <reference path="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.0.js" />

    如果您需要有关_references.js的帮助,请参阅我的博客文章here

    请务必更新您的网页(或_Layout.cshtml)参考,以实际使用CDN。请注意,您用于网页的js路径不必与智能感知参考相同(当然,您显然希望它们是相同的版本)!

    <!DOCTYPE html>
    
    <html>
    <head>
        <title>@ViewBag.Title</title>
    </head>
    <body>
        <div id="body">
            @RenderBody()
        </div>
        <script src="@Url.Content("http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.js")" type="text/javascript"></script>
        @RenderSection("scripts")
    </body>
    </html>
    

    注意:上面的示例假设您没有使用ASP.NET 4.5捆绑,或者利用路径镜像和反向代理等CDN功能。我假设如果你正在使用这些功能,你就知道需要做些什么来让它们运行。