我有以下目录结构,以及以下文件:
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
答案 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']
}
}
});