2014-01-26 4 views
1

Я пытаюсь использовать простые и простые DataTables с RequireJS. Но я не могу понять, как настроить файл main.js. Это то, что у меня есть:DataTables with RequireJS

require.config({ 
    paths: { 
    modernizr: 'libs/custom.modernizr', 
    jquery: '../components/jquery/jquery', 
    datatables: '../components/datatables/media/src/DataTables' 
}, 

Однако, как только добавить

require(["datatables"]), function (whatever) {... }); 

Я всегда получаю эту ошибку:

Error: Module name "api.static.js" has not been loaded yet for context: _ 

Я попытался с помощью "прокладку", чтобы сделать JQuery зависимость от datatable, но я получаю ту же ошибку. Кто-нибудь знает, как настроить действительно простой datatable с помощью requireJS?

UPDATE:

Вот полный main.js файл:

require.config({ 
paths: { 
    jquery: '../components/jquery/jquery', 
    datatables: '../components/datatables/media/src/DataTables' 
}, 
shim: { 
     "datatables": ['jquery'] 
    } 
}); 

require(["jquery", "datatables"], function() { 

$('#test').dataTable({ 
    "aaData": [ 
     ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'], 
     ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'] 
    ], 
    "aoColumns": [ 
     { "sTitle": "Engine" }, 
     { "sTitle": "Browser" }, 
     { "sTitle": "Platform" }, 
     { "sTitle": "Version" }, 
     { "sTitle": "Grade" } 
    ] 
    }); 
}); 

А вот точное сообщение об ошибке. Я попытался с несколькими версиями Jquery и в нескольких браузерах и всегда получать это же сообщение: Error Message I recieve

Если это важно, я построил этот main.js при помощи функции zurb-основе йа генератора, а затем с помощью

bower install --save jquery#1.11.0 
bower install --save datatables 

ответ

1

Я понял. Проблема заключалась в том, что я указывал DataTables переменной в этой строке

datatables: '../components/datatables/media/src/DataTables' 

в файл «DataTables.js.» Это неправильный файл. Она должна быть направлена ​​на «jquery.dataTables.js», как это:

datatables: '../components/datatables/media/js/jquery.dataTables' 

Будем надеяться, что это поможет кому-то избежать путаницы в будущем.