[英]How to use jquery ui with requireJS and knockout-sortable?
我正在尝试使用requireJS在我的第一个单页javascript应用程序中管理依赖项。 以前从未使用过requireJS,所以我一直在尝试一些我认为已基本退出的工作。
我的项目使用基因敲除JS和一个称为基因敲除可排序的插件,该插件为jQuery用户界面“可排序”插件提供基因剔除绑定。 当我只加载jquery ui,knockout和其他不需要requireJS的东西时,一切正常。
我的要求main.js看起来像这样:
require.config({
baseUrl: '/Scripts',
paths: {
jQuery: 'jquery-2.1.3',
jQueryUI: 'jquery-ui-1.10.2',
knockout: 'knockout-3.3.0',
knockoutSortable: 'knockout-sortable',
AppViewModel: 'app/AppViewModel'
},
shim: {
"jQueryUI": {
export: "$",
deps: ['jQuery']
},
"knockoutSortable": {
export: ["ko"],
deps: ['jQuery','jQueryUI']
},
}
});
require(['jQuery', 'jQueryUI', 'knockoutSortable', 'AppViewModel'], function ($, ui, ko, AppViewModel) {
ko.applyBindings(new AppViewModel());
});
但是我的JavaScript出现错误,指出:
GET http://localhost:8020/Scripts/jquery-ui/draggable.js
require.js:166 Uncaught Error: Script error for: jquery-ui/draggable
http://requirejs.org/docs/errors.html#scripterror
require.js:1910 GET http://localhost:8020/Scripts/jquery-ui/sortable.js
require.js:166 Uncaught Error: Script error for: jquery-ui/sortable
http://requirejs.org/docs/errors.html#scripterror
我猜想敲除可排序某种程度上需要依赖jquery.ui / sortable.js,但是该文件不存在,因为jquery-ui只是一个文件!
此页面https://learn.jquery.com/jquery-ui/environments/amd/也建议我将jquery ui文件组织成某种文件夹结构,但是我只有一个jquery ui文件,所以我没有想法该怎么做。
顺便说一句:我在Visual Studio中使用ASP.NET MVC 5,这就是为什么我的脚本位于“脚本”文件夹而不是“ JS”文件夹中的原因。 我已经使用NuGet将jquery,jquery ui和基因敲除更新到最新版本,并且我已经手动将基因敲除可排序升级到版本0.11,因为它是4天前发布的,尚未在nuget上提供。
有人知道这里发生了什么以及如何解决?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.