如何从CDN goog.require JQuery?

How to goog.require JQuery from CDN?

我现在 experimenting with different JavaScript module formats and loader and also wanted to try out Google Closure.

例如,我有basic example working, but can't figure out how to use goog.require for an external library. Let's take JQuery from CDN

现在我正在做以下事情。在 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);
};

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

但我想做的是通过 goog.require 加载 JQuery 而没有 <script .../> 标签 HTML 页面:

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 闭包管理模块(包括外部模块)。

我如何从 CDN goog.require JQuery?

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

除非您想破解 Closure,否则您唯一的选择就是将其与您的源一起托管。