【问题标题】:Does using a CDN prevent Intellisense from working for jQuery?使用 CDN 会阻止 Intellisense 为 jQuery 工作吗?
【发布时间】:2013-06-11 08:22:54
【问题描述】:

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

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

【问题讨论】:

  • 我希望这只是本地 JS 文件的情况,而不是远程文件。你试过了吗?

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


【解决方案1】:

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

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

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

  2. 如果您知道 *vsdoc.js 文件与 CDN 上的 js 文件位于同一目录中(就像它在 ASP.NET CDN 上一样),AND您'正在使用 MVC,您只需更新您的 _references.js 文件以反映这一点:

/// <reference path="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.0.js" />

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

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

<!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 功能。我假设如果您使用这些功能,您知道需要做什么才能让它们运行。

【讨论】:

  • 因为我从来没有使用过 ASP.NET 4.5 捆绑、路径镜像或反向代理,所以我可能这样是安全的(他们说,无知是幸福的)。但是(唉!),我的工具 | 中没有 JavaScript 条目。选项树。
  • 你运行的是什么版本的VS?
  • 我的示例是 2012 年的,但我认为菜单选项仍然相同。我只是看着我的屏幕快照,并意识到路径不清楚。在选项对话框中,向下钻取到文本编辑器 | JavaScript |智能感知 |参考。你应该在那里找到它。
  • 不,我有一个文本编辑器 | JScript,但在 JScript 之下没有 JavaScript,也没有 Intellisense。
  • 啊,看来 VS 2010 执行 JavaScript Intellisense 的方式与 2012 不同。不幸的是,由于我没有安装该版本,恐怕对您帮助不大。
猜你喜欢
  • 2020-02-23
  • 2011-02-23
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
相关资源
最近更新 更多