gpt4 book ai didi

kendo-ui - 使用 requirejs 注入(inject) kendo ui

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

kendo ui 和 requirejs 上的文档似乎遗漏了一些东西。

他们告诉我如何使用 kendo.web.min,其中包含所有内容:

http://www.kendoui.com/blogs/teamblog/posts/13-05-08/requirejs-fundamentals.aspx

(搜索关键字“shim”)

但我对添加 2MB 大的 kendo.web.min 脚本不感兴趣,我只想填充

kendo.grid.min 但此文件对 kendo.data.min 具有依赖关系,而 kendo.data.min 又具有依赖关系

到 kendo.core.min。

在加载 kendo.grid.min 之前和加载 jquery 之后,我如何告诉 requirejs 也加载 kendo.data.min 和 kendo.core.min。我只是想这将是正确的顺序。

这是我从上面的 Telerik 链接中尝试过的:

requirejs.config({
paths: {
'text': '../Scripts/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions',
'knockout': '../Scripts/knockout-2.3.0',
'jquery': '../Scripts/jquery-2.0.3',
'kendoGrid': '../Scripts//kendo.grid.min',
},
shim: {
"kendoGrid": {
deps: ["jquery"]
}
}
});

定义 kendo 依赖项(如 kendo.data 和 kendo.core )的正确方法是什么?

目前,我在 systems.js 中的 durandal 应用程序启动时遇到异常,说:

“无法加载组合模块(viewmodels/DocumentBrowser)。详细信息:无法“访问”未定义或空引用的属性“jQuery”。

我知道这个错误与剑道没有直接关系,但是由于我在 DocumentBrowser 模块中使用 requirejs 引入了剑道 ui,所以我得到了这个异常!

更新

根据 CodingWhitSpike 的建议,我更改了 requirejs 配置:
requirejs.config({
paths: {
'text': '../Scripts/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions',
'knockout': '../Scripts/knockout-2.3.0',
'jquery': '../Scripts/jquery-2.0.3',
'moment': '../Scripts/moment',
k: "../Scripts/kendo"
}
});

define(['durandal/app', 'plugins/dialog', 'knockout', 'services/dataservice', 'plugins/router', 'moment', 'k/kendo.grid.min'],
function (app, dialog, ko, dataservice, router, moment, kendoGrid) {

$("#grid").kendoGrid(...); => kendoGrid is instantiated and it works :)

});

最佳答案

这取自位于 http://docs.kendoui.com/getting-started/using-kendo-with/using-kendo-with-requirejs 的官方 Kendo 文档

<!-- first, load RequireJS -->
<script src="require.js"></script>

<!-- configure RequireJS with two logical paths:
- "app/" will be used for your files
- "k/" will be for Kendo UI modules -->

<script>
requirejs.config({
paths: {
app: "/path/to/your/files",
k: "http://cdn.kendostatic.com/VERSION/js"
}
});

require([
"http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js",
"app/foo",
"app/bar",
"k/kendo.menu.min",
"k/kendo.grid.min"
], initApp);

function initApp() {
// main entry point of your application
}
</script>

假设 kendo 已正确设置其模块的依赖关系,设置类似 k: "http://cdn.kendostatic.com/VERSION/js 的路径它指向模块目录(不是一个单独的模块)并使用类似 k/kendo.grid.min 的模块应该是所有需要的。

关于kendo-ui - 使用 requirejs 注入(inject) kendo ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18671338/

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