gpt4 book ai didi

javascript - JQuery UI 和 RequireJS 错误地映射小部件

转载 作者:行者123 更新时间:2023-12-03 02:50:04 25 4
gpt4 key购买 nike

我正在使用RequireJS加载Knockout Sortable (v1.10),其中有 jquery-ui (v1.12) 作为依赖项。这两个都是通过 Bower 添加的,并放置在我的 require 配置中。但是,我遇到了一些奇怪的问题,需要错误地获取某些小部件的路径。

我的 jquery-ui 路径如下所示:

paths: {
...
'jquery-ui': '/lib/jquery-ui/jquery-ui',
...
// or the .min version like below:
// 'jquery-ui': '/lib/jquery-ui/jquery-ui.min',
}

jquery-ui 的东西加载没有任何问题,但是组件变得疯狂。我的控制台日志看起来像这样:

GET http://localhost:5000/lib/jquery-ui/jquery-ui/ui/widgets/draggable.js net::ERR_ABORTED    
require.min.js:5 Uncaught Error: Script error for "jquery-ui/ui/widgets/draggable", needed by: knockout-sortable
http://requirejs.org/docs/errors.html#scripterror
at l (require.min.js:5)
at HTMLScriptElement.onScriptError (require.min.js:5)

对于 3 个独立的小部件,我遇到了同样的错误。这些小部件位于 /lib/jquery-ui/ui/widgets/*.js,但 RequireJS 会在前面添加第二个 jquery-ui 目录。

Knockout Sortable 正在请求如下资源:

require("jquery-ui/ui/widgets/sortable");
require("jquery-ui/ui/widgets/draggable");
require("jquery-ui/ui/widgets/droppable");

我尝试了各种匀场和映射方式,但似乎没有任何效果,所以我有点不知所措。

还值得注意的是,如果我使用 jquery-ui.min,路径将变成:

http://localhost:5000/lib/jquery-ui/jquery-ui.min/ui/widgets/*.js

最佳答案

经过一番修改后,我发现我需要稍微修改我的路径,如下所示:

paths: {
...
'jquery-ui': ['/lib/jquery-ui/jquery-ui.min'],
'jquery-ui/ui': ['/lib/jquery-ui/ui'],
...
}

事实证明,稍微更具体的定义版本允许我覆盖正在发生的奇怪行为。当我使用另一个名为 NestedSortable 的包时,这个问题变得更加复杂。该包尚未更新以处理 jQuery UI 1.12+ 的新文件夹结构。所以我不得不 fork 该存储库并创建一个新的凉亭包。

关于javascript - JQuery UI 和 RequireJS 错误地映射小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47910570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com