首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RequireJS,KendoUI和KnockoutJS有机会一起工作吗?

RequireJS,KendoUI和KnockoutJS有机会一起工作吗?
EN

Stack Overflow用户
提问于 2013-08-28 10:11:34
回答 1查看 1.6K关注 0票数 2

所以我想把所需kendo ui敲除JS放在一起。

我读了在RequireJS中使用Kendo和Knockout JS的文章带有RequireJs的异步模块定义(AMD),然后我通过Knockout.js和Kendo一个强大的二重奏找到了击倒-肯多库,我想--这太棒了--我即将进入一个彩虹、MVVM、AMD和HTML5美妙的美丽世界。

但现在看来,我更像是置身于一个充满痛苦和痛苦的黑暗地下世界。交易是这样的..。

我有一个简单的网站,其中有一个js文件夹,其中包含以下内容:

  • jquery-2.0.3.min.js
  • knockout-2.3.0.js
  • knockout-kendo.min.js
  • require.js
  • 下面所有的kendo文件

以及我放在根目录中的index.html文件,该文件包含如下内容:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script type="text/javascript" src="js/require.js"></script>
</head>
<body>
    <div id="grid" data-bind="kendoGrid: items"> </div>    
    <script type="text/javascript">            
        require.config({
            baseUrl : 'js',
            paths: {
                'jquery': 'jquery-2.0.3.min',
                'knockout': 'knockout-2.3.0',
                'kendo': 'kendo-ui',
                'knockout-kendo': 'knockout-kendo.min',
            },
            shim: {
                'jquery': {
                    exports: 'jQuery'
                }
            }            
        });        
        define('mainViewModel', ['knockout'], function (ko) {
            return function mainViewModel(){
                this.items = ko.observableArray([
                    { id: "1", name: "apple"},
                    { id: "2", name: "orange"},
                    { id: "3", name: "banana"}
                ]);
            };
        });    
        require(['jquery','knockout','mainViewModel','knockout-kendo'], 
            function($, ko, mainViewModel) {
                ko.applyBindings(new mainViewModel());
        });
    </script>
</body>
</html>

据我所知,这基本上是正确的,但我得到了这个例外:

代码语言:javascript
复制
GET http://localhost/ko-kendo/js/kendo-ui.js [HTTP/1.1404 Not Found 1ms] 
Error: Script error for: kendo
http://requirejs.org/docs/errors.html#scripterror @http://localhost/ko-kendo/js/require.js:163

似乎淘气的剑道试图装载剑道- is,但它,不出所料,因为它不存在,找不到它。

为了验证映射,我创建了以下内容:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script type="text/javascript" src="js/require.js"></script>
</head>
<body>
    <div id="grid" data-bind="kendoGrid: items"> </div>    
    <script type="text/javascript">            
        require.config({
            baseUrl : 'js',
            paths: {
                'jquery': 'jquery-2.0.3.min',
                'knockout': 'knockout-2.3.0',
                'kendo': 'kendo-ui',
                'knockout-kendo': 'knockout-kendo.min',
            },
            shim: {
                'jquery': {
                    exports: 'jQuery'
                }
            }            
        });        
        define('mainViewModel', ['knockout'], function (ko) {
            return function mainViewModel(){
                this.items = ko.observableArray([
                    { id: "1", name: "apple"},
                    { id: "2", name: "orange"},
                    { id: "3", name: "banana"}
                ]);
            };
        });    
        require(['jquery','knockout','mainViewModel','kendo/kendo.grid.min'], 
            function($, ko, mainViewModel) {
                var vm = new mainViewModel();            
                $(document).ready(function () {
                    $('#grid').kendoGrid({
                        dataSource: new mainViewModel().items()
                    });
                });            
                ko.applyBindings(vm);
        });
    </script>
</body>
</html>

这非常有效(嗯,起作用了)--你可以看到两者之间的区别是,在第二种情况下,我没有使用敲除-kendo,因此,绑定不适用,这就是为什么我在文档就绪函数中执行kendoGrid的原因。

那么,有谁知道在这个绿色美丽的地球上,我是如何被击倒的--剑道与需要的JS一起工作?我觉得可能有什么花哨的东西能让它运转,但我想不出.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 11:15:13

Kendo被设置为依赖于一个kendo模块。最简单的方法是将kendo指向kendo.web文件,如:kendo: kendo.web.min (在kendo.web.min.js所在的任何目录中)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18485019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档