Pet*_* G. 4 javascript jquery jquery-ui shared-libraries requirejs
我的问题是具有指向相同JS库的冗余RequireJS依赖项。
引用的库是jQuery UI,它在内部和外部都由Gridstack引用,这导致了此问题。
内部和外部引用都应指向一个文件jquery-ui.js。
如何配置RequireJS(即inside main.js)以将这些引用作为一个引用来处理,而无需对任何现有模块/库进行任何更改?
JQuery UI v1.11.2-我的JQuery UI分发(单个文件)
Gridstack 0.2.5-dev的 -库引用它jquery-ui/core,jquery-ui/widget,jquery-ui/mouse,jquery-ui/draggable和jquery-ui/resizable
我在jquery.ui内部使用
小智 5
尽管Louis的答案为我指明了正确的方向,但仍然需要一些时间来找出完整的解决方案,因此我在此处发布了我的工作requirejs配置,以供将来参考:
requirejs.config( {
baseUrl: 'js',
paths: {
jquery: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min',
'jquery.ui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
lodash: 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min',
gridstack: 'https://cdnjs.cloudflare.com/ajax/libs/gridstack.js/0.3.0/gridstack.min',
'gridstack.jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/gridstack.js/0.3.0/gridstack.jQueryUI.min',
},
map: {
'*': {
'jquery-ui/data': 'jquery.ui',
'jquery-ui/disable-selection': 'jquery.ui',
'jquery-ui/focusable': 'jquery.ui',
'jquery-ui/form': 'jquery.ui',
'jquery-ui/ie': 'jquery.ui',
'jquery-ui/keycode': 'jquery.ui',
'jquery-ui/labels': 'jquery.ui',
'jquery-ui/jquery-1-7': 'jquery.ui',
'jquery-ui/plugin': 'jquery.ui',
'jquery-ui/safe-active-element': 'jquery.ui',
'jquery-ui/safe-blur': 'jquery.ui',
'jquery-ui/scroll-parent': 'jquery.ui',
'jquery-ui/tabbable': 'jquery.ui',
'jquery-ui/unique-id': 'jquery.ui',
'jquery-ui/version': 'jquery.ui',
'jquery-ui/widget': 'jquery.ui',
'jquery-ui/widgets/mouse': 'jquery.ui',
'jquery-ui/widgets/draggable': 'jquery.ui',
'jquery-ui/widgets/droppable': 'jquery.ui',
'jquery-ui/widgets/resizable': 'jquery.ui',
}
},
} );
require( ['dashhub'] );
Run Code Online (Sandbox Code Playgroud)
请注意,我似乎无法使其与gridstack.all.jscdnjs中的脚本一起使用。这意味着在模块中,您必须同时引用gridstack和gridstack.jqueryui在define命令中。
| 归档时间: |
|
| 查看次数: |
3507 次 |
| 最近记录: |