【发布时间】:2016-09-05 23:21:48
【问题描述】:
我正在尝试使用 requirejs 加载很多我们的 JS 依赖项。我们遇到了 KnockoutSortable 对 jquery-ui\sortable 的依赖性的问题。
我无法从 jquery-ui 的 cdn 下载中获取 sortable.js,它通过从我的站点中的副本下载来满足它的依赖关系。我已经尝试过
'knockoutSortable' : {
deps: ['jqueryUi']
},
但这并没有强制 Knockout 使用 jquery-ui 的 CDN 下载版本
我们的配置如下:
var require = {
baseUrl: '/Scripts',
paths: {
jquery: ['//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min', 'lib/jquery-1.9.1.min'],
jqueryUi: ['//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min', 'lib/jquery-ui-1.11.3.min'],
knockout: ['//cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min','lib/knockout-3.3.0.min'],
knockoutMapping: ['//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min','lib/knockout.mapping-latest.min'],
knockoutValidation: ['//cdnjs.cloudflare.com/ajax/libs/knockout-validation/2.0.2/knockout.validation.min','lib/knockout.validation.min'],
knockoutPostBox: ['//cdnjs.cloudflare.com/ajax/libs/knockout-postbox/0.5.1/knockout-postbox.min', 'lib/knockout-postbox.min'],
knockoutSortable: ['//cdnjs.cloudflare.com/ajax/libs/knockout-sortable/0.11.0/knockout-sortable.min','lib/knockout-sortable.min'],
...
shim: {
'jquery': {
exports: '$'
},
'knockoutSortable' : {
deps: ['jqueryUi']
},...
【问题讨论】:
-
由于 jquery-ui 和淘汰赛都与 AMD 兼容,您不能使用 shim 配置,您需要使用地图配置。见link
标签: jquery-ui knockout.js requirejs cdn