我是reqire.js的新手,我无法使Fancybox与Google CDN JQuery一起使用。
我的文件结构是:
index.html/
├── js/
│ ├── app.js
│ ├── app/
│ | ├── main.js
│ ├── lib/
│ | ├── require.js
│ | ├── jquery.fancybox.js
│ | ├── jquery.fancybox-thumbs.js
│ | ├── jquery.fancybox-media.js
│ | ├── jquery.mousewheel-3.0.6.pack.js
app.js
requirejs.config({
"baseUrl": "js/lib",
"paths": {
"app": "../app",
"jquery": "//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min",
"jquery.fancybox": "jquery.fancybox",
"jquery.fancybox-thumbs": "jquery.fancybox-thumbs",
"jquery.fancybox-media": "jquery.fancybox-media",
"jquery.mousewheel-3.0.6.pack": "jquery.mousewheel-3.0.6.pack"
}
});
requirejs(["app/main"]);
main.js
define(["jquery", "jquery.fancybox-media", "jquery.fancybox-thumbs", "jquery.fancybox", "jquery.mousewheel-3.0.6.pack"], function ($) {
$(function() {
$('.fancybox').fancybox();
});
});
html
<head>
<script data-main="js/app" src="js/lib/require.js"></script>
</head>
<body>
<a class="fancybox" href="myImage.jpg" data-fancybox-group="gallery" title="">
<h5>Click</h5>
</a>
</body>
我仍在发现未定义的jQuery错误。我可以在DOM上看到我的花式盒库和jQuery,但什么也不会发生。
您可能需要按照此处记录的" fancybox文件"。
类似:
requirejs.config({
baseUrl: 'Scripts',
paths: {
"app": "../App",
"jquery": 'jquery-3.1.1' //Or use cdn
},
shim: {
"jquery.fancybox": ["jquery"]
}
});
requirejs(["app/index"]);
您遇到的错误很可能是由于需要尝试同步加载jQuery和Fancybox文件,首先接收Fancybox One(因为它较小),并且由于jQuery文件尚未加载而无法使用它因此错误。