RequireJS - 加载kendo ui模块

时间:2015-06-30 17:58:16

标签: kendo-ui requirejs

我有以下目录结构,以及以下文件:

root
|--libs
   |--jquery
      |--jquery-1.9.1.js
   |--kendo
      |--kendo.button.min.js
      |--kendo.core.min.js

RequireJS配置定义如下

require.config(
{ 
  baseUrl: 'path to root', 
  paths: 
  { 
    'jquery': 'libs/jquery/jquery-1.9.1',
    'kendo-button': 'libs/kendo/kendo.button.min'
  },
  shim:
  {
    'kendo-button': 
     {
       deps: ['jquery'] 
     }
  }
});

我有一个依赖'kendo-button'

的模块
define(
  ['kendo-button'],
  function(kendoButton) 
  {
    ..code to create a  kendo button
  });

加载此模块时,它会抛出错误状态为404的错误

脚本错误:kendo.core.min。

我看到requirejs正在根目录中寻找kendo.core.min.js,而不是在kendo文件夹中。

我在这里做错了吗?

注意: kendo.button.min依赖于kendo.core.min

2 个答案:

答案 0 :(得分:0)

如果查看kendo.button.min.js模块,您将看到此模块依赖于kendo.core.min.js。因此,RequireJS将尝试从您的'path to root'/ kendo.core.min.js的位置下载此模块,这会导致404错误。所以我会修改require.config,如下所示:

require.config(
{ 
  baseUrl: 'path to root', 
  paths: 
  { 
    'jquery': 'libs/jquery/jquery-1.9.1',
    'kendo-button': 'libs/kendo/kendo.button.min', 
    'kendo.core.min': 'libs/kendo/kendo.core.min'    
  },
  shim:
  {
    'kendo-button': 
     {
       deps: ['jquery'] 
     }
  }
});

同样,请确保将模块kendo.core.min.js复制到libs / kendo文件夹中。

答案 1 :(得分:-1)

使用像这样:

require.config(
{ 
  baseUrl: 'path to root', 
  paths: 
  { 
    'jquery': './libs/jquery/jquery-1.9.1',
    'kendo-button': './libs/kendo/kendo.button.min'
  },
  shim:
  {
    'kendo-button': 
     {
       deps: ['jquery'] 
     }
  }
});