Sourcing jQuery from a CDN?
Sourcing jQuery from a CDN?
我正在使用require JS,想知道使用CDN版本的jQuery的最佳方法。我听说1.7版本是"AMD",这应该有帮助,但找不到一个直接的例子。
jQuery 1.7注册自己作为一个AMD模块的名称为' jQuery ',所以你需要创建一个映射为' jQuery '使用路径配置:
requirejs.config({
paths: {
'jquery' : 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min'
}
});
require(['jquery'], function($) {
//$ points to jQuery
});
请注意,RequireJS异步加载模块和无序,所以如果你有jQuery插件,你想使用的是没有包装在define(['jquery'], function ($){ /* plugin code goes here */ });
调用,插件可以在jQuery加载之前执行。
请参阅require-jquery项目的README,了解如何处理依赖于jQuery但不将自己包装在define()
调用中的文件。
@jrburke的回答不适合我。根据RequireJS api文档,您不应该在路径中包含文件扩展名。下面是工作代码:
requirejs.config({
paths: {
'jquery': 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min'
}
});
require(['jquery'], function($) {
//$ points to jQuery
});
我有一个关于jsfiddle的工作示例:http://jsfiddle.net/murrayju/FdKTn/
你可以把它作为一个模块的依赖项,但它有点不可靠。如
define([
"order!http://code.jquery.com/jquery-1.7.min.js"
], function($) {
})
不太好,有两个原因
1) jquery文件本身不是一个模块,所以你从函数中得到的$
不会是jquery
2) order!
插件不能很好地与CDN版本的脚本。看到Requirejs& # 39;order不能使用优先级配置和CDN依赖
我还没有机会在一个"真正的"项目中使用这个,因为我们还没有升级,但从我的测试中,我发现最好的方法是在脚本标签中包含jquery,然后它作为一个依赖于你的模块。希望下面的小示例对您有所帮助:
<html>
<head>
<title>Index2</title>
<script src="../../scripts/libraries/jquery.js" type="text/javascript"></script>
<script src="../../scripts/libraries/require.js" type="text/javascript"></script>
<script type="text/javascript"">
require(
{baseUrl: 'scripts'},
['jquery'],
function (dollarSign) {
console.log(dollarSign('div').html('hi'));
});
</script>
</head>
<body>
<div>
</div>
</body>
</html>
首先,建议jQuery CDN使用协议相关URL。其次,如果CDN已死,则使用arrayinvalue和本地位置来加载本地文件。您可以使用任意多的cdn url。不要害怕,如果从CDN下载成功,它不会从本地加载第二个文件。
requirejs.config({
paths: {
'jquery': ['//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min', 'lib/jquery-1.10.2.min']
}
});
- 同构reactjs-cdn资产
- 为什么Telerik cdn在IE中不起作用
- Validate JSON from Mongo?
- Get JSON from an url
- creating objects from variables ES6
- getting id from jsp
- HTML5 Shiv谷歌CDN链接不工作
- jquery使用name from变量按类选择元素
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- Using jQuery with classes from ES6
- 如何计算与php中的CRC32函数兼容的arrayBuffer(javascript中的From FileReader)
- Gulp:如何将CDN用于js-lib
- 如何删除'被按压'state from复选框
- 当我的所有 Ng-from 都有效时启用一个按钮
- 如何在XHTML中添加jQuery CDN回退
- getDocument by id/get input text from button dons'不起作用
- 使用CloudFront和AmazonS3,或者其他CDN,我可以将所有类似的请求发送到一个静态文件中
- Browserify jQuery UI from CDN
- Sourcing jQuery from a CDN?
- Css or Javascript from CDN