RequireJS加载订单之谜

时间:2015-03-07 17:48:39

标签: javascript jquery laravel laravel-5 requirejs

我似乎无法首先加载我的依赖。这是一个完全错误的加载顺序的屏幕截图:

enter image description here

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;
});

0 个答案:

没有答案