[英]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.