如何从CDN搜索请求JQuery

How to goog.require JQuery from CDN?

本文关键字:请求 JQuery 搜索 CDN      更新时间:2023-12-05

我目前正在尝试不同的JavaScript模块格式和加载程序,还想试用Google Closure。

我已经有了一个基本的例子,但不知道如何将goog.require用于外部库。以CDN中的JQuery为例。

现在我正在做以下事情。在HTML页面中:

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>

在脚本中:

goog.require("Greets");
goog.provide("Greets.MsgDivMessenger");
Greets.MsgDivMessenger = function() {};
Greets.MsgDivMessenger.prototype.sendMessage = function(message)
{
    $('#msg').text(message);
};

这是因为全局$通过<script .../>标记包含在HTML页面本身中。

但我想做的是通过goog.require加载JQuery,而不使用HTML页面中的<script .../>标记:

goog.require("Greets");
goog.require("$");
goog.provide("Greets.MsgDivMessenger");
Greets.MsgDivMessenger = function() {};
Greets.MsgDivMessenger.prototype.sendMessage = function(message)
{
    $('#msg').text(message);
};

我已经尝试添加JQuery CDN URL作为依赖项:

goog.addDependency('https://code.jquery.com/jquery-2.1.3.min.js', ['$'], []);

但这并没有起作用,goog.require尝试加载.../closure/goog/https://code.jquery.com/jquery-2.1.3.min.js

是的,我知道$('msg')不需要JQuery,但重点是使用Google Closure管理模块(包括外部模块)。

如何从CDN进行goog.require JQuery?

这不是预期用途,也不支持它。goog.provide/require是一个依赖关系管理方案。声明"goog.provide"的文件可以通过用goog.require声明来实现。对于生产使用,依赖关系将被预加载或绑定。

除非你想破解Closure,否则你唯一的选择就是用你的来源托管它。