Javascript 带有jquery ui的require.js,找不到jquery
使用Require.js加载jQueryUI给我带来了问题——jQueryUI的依赖项看不到m在工作。以下是错误: 未捕获的TypeError:无法读取未定义的属性“ui” 以下是两个文件: main.jsJavascript 带有jquery ui的require.js,找不到jquery,javascript,jquery,jquery-ui,requirejs,Javascript,Jquery,Jquery Ui,Requirejs,使用Require.js加载jQueryUI给我带来了问题——jQueryUI的依赖项看不到m在工作。以下是错误: 未捕获的TypeError:无法读取未定义的属性“ui” 以下是两个文件: main.js require.config({ baseUrl: '/git-cake-skeleton/js', paths: { 'jquery': 'lib/jquery-1.10.2', 'jqueryui': 'lib/jquery-ui
require.config({
baseUrl: '/git-cake-skeleton/js',
paths: {
'jquery': 'lib/jquery-1.10.2',
'jqueryui': 'lib/jquery-ui-1.10.3.min',
'bootstrap': 'lib/bootstrap.min'
},
shim: {
'jqueryui': {
exports: '$',
deps: ['jquery']
},
'bootstrap': {
deps: ['jquery']
}
} });
require([
'jquery',
'widgets/demowidget'
], function ($) {
$(document).ready(function() {
// This is where we bind our widgets to stuff on the page. All the real logic happens inside widgets!
$(".app-js-demowidget").demowidget();
});
} );
demowidget.js
// Example of simple plugin inside Require.js framework
define(['jquery', 'jqueryui'], function ($) {
$.widget('skeleton.demowidget', {
options: {
},
_init: function() {
this.element.click(function(e){
alert('Hello world');
});
}
});
});
文件结构:
|-js
| main.js
|---lib
| bootstrap.min.js
| jquery-1.10.2.js
| jquery-ui-1.10.3.min.js
| require.js
|---widgets
| demowidget.js
编辑:如预期的那样,在demowidget.js中将“jqueryui”与“bootstrap”切换会出现以下错误:
引导需要jQuery
首先需要定义jquery依赖项:
define('jquery', [], function () { return root.jQuery; });
然后您可以根据jquery使用“jquery”加载其他lib。我认为
导出:“$”
可能会破坏jquery?我相当确定它通常在没有导出位的情况下对我有效。是的,jQuery UI没有导出。虽然这是一个坚实的观点,但它是没有实际意义的,而不是根本原因-引导,在上面的代码中没有导出,给出了相同的错误:“…也可以作为AMD模块包含。”我相信我已经在路径中做到了这一点:路径:{'jquery':'/git-cake-skeleton/js/lib/jquery-1.10.2','jqueryui':'lib/jquery-ui-1.10.3.min','bootstrap':'lib/bootstrap.min',