Require.js/Jquery Datable : неопределенный не является функцией

#javascript #jquery #requirejs #jquery-datatables

#javascript #jquery #requirejs #jquery-datatables

Вопрос:

Я пытаюсь загрузить таблицы данных jQuery с помощью Require.js

Это мой модуль JS, в котором я хотел бы использовать таблицы данных :

 define([
  "jquery",
  "text!orders_list.tpl",
  "dataTables"
  ], function($, OrdersListTemplate, dataTables)
{
  console.log($);
  console.log($.fn.dataTable);
  ... more logic after
 

Как я вызываю свой модуль JS в HTML :

 require(['./js/config'], function (common) 
{
  require(
    [
      'js/modules/init',
      ...
      'js/modules/orders_list.js'
    ],
    function (init, ..., orders_list)
    {
      init.initialize();
      ...
      orders_list.initialize();
    });
});
 

Как я определил свою конфигурацию :

 require.config({
  shim: {
    underscore: {
      exports: '_'
    },
    backbone: {
      deps: ['underscore', 'jquery'],
      exports: 'Backbone'
    },
    ...
  },
  paths: {
    jquery:           '../../shops_common/js/lib/jquery-1.9.1',
    backbone:         '../../shops_common/js/lib/backbone.min',
    underscore:       '../../shops_common/js/lib/underscore.min',
    dataTables:       'http://datatables.net/download/build/nightly/jquery.dataTables'
  },
  waitSeconds: 300
});
 

Но $.fn.DataTable всегда не определен…
Есть идеи, почему?

Спасибо.

Комментарии:

1. Более того, я попробовал использовать другой плагин (сортировщик таблиц), и он работает

Ответ №1:

Я нашел решение после обширных исследований: Datatables — это именованный модуль, который вы должны использовать в своем запросе с именем «datatables»