我似乎无法首先加载我的依赖。这是一个完全错误的加载顺序的屏幕截图:
Kendo应该是在Jquery之后加载的第一个,因为transaction-grid.js依赖于kendo和jquery。
这是我的requireJS专栏:
HTML::script('js/requirejs.js', array('data-main' => '/js/main.js'))
使用config:
require.config({
paths: {
"jquery": [
"jquery"
],
'bootstrap': [
'bootstrap'
],
'kendo': [
'kendo'
],
handlebars: 'handlebars'
},
shim: {
"bootstrap": {
deps :["jquery"]
},
"kendo": {
deps: ["jquery"]
}
}
})
transaction-grid.js文件以:
开头require(['jquery', 'kendo', 'core/grid-funcs', 'core/add-menu'], function($, kendo, gridFuncs, addMenu){ ... })
transactions.blade.php文件(Laravel):
@extends('layouts.master')
@section('content')
@include('includes.main-menu')
<div id="incomeGrid"></div>
<script type="text/x-kendo-template" id="incomeToolBar">
<div class="toolbar">
<button class="k-button k-button-icontext k-grid-add pull-right"><span class="k-icon k-add"></span>Add part</button>
</div>
</script>
@stop
@section('js')
<script>require(['core/transaction-grid'])</script>
@stop
如何以正确的顺序加载所有内容?
在transaction-grid.js中我收到此错误,因此加载顺序是我认为可能是问题(kendo未加载):
Uncaught TypeError: undefined is not a function
使用:
var activeGrid = $('#incomeGrid');
...
activeGrid.kendoGrid({ ... Error happens here
网格funcs.js:
define(['jquery', 'kendo'], function ($, kendo) {
...
return editors;
});