如何使用requireJS为数据表配置多个源

How do I configure multiple sources for Data tables using require JS?

本文关键字:配置 数据表 何使用 requireJS      更新时间:2023-09-26

我正在尝试使用此数据表。但是需要多个JS资源,我不知道如何为RequireJS配置这两个资源?我试图创建一个填充程序,但表没有呈现。

以下是所需的两个文件:

 jquery.dataTables.min.js
 dataTables.bootstrap.min.js 

到目前为止,我已经使用以下配置进行了部分工作和渲染:

require.config({
    paths: {
        jquery: 'https://code.jquery.com/jquery-1.11.3.min',
        dataTable: 'https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min',
          // How do I create a shim for this?
        dataTableBootstrap: 'https://cdn.datatables.net/1.10.10/js/dataTables.bootstrap.min'
    }
});

在此处实例化:

require(["jquery", "dataTable"], function ($) {
    $(function () {
        $('#example').dataTable( {
            "pagingType": "simple_numbers",
            scrollY:        '50vh',
            scrollCollapse: true,
            "scrollX": true,
            "bPaginate": true,
            "bFilter": false,
            "bInfo": true
        } );
});

您不需要填充其中的任何一个。它们被识别为requirejs模块,并代替您管理自己的依赖关系。它们都具有通用的模块定义格式。他们都使用define()创建了自己的需求模块,并试图获得他们的依赖关系。这个依赖项是命名的,它的名称是在paths requirejs配置中定义的路径或名称。

现在,我可以从这些库中找到它们所需的模块名称。

dataTable boostrap需要2个依赖["jquery","datatables.net"]。jquery在您的paths配置中定义得很好,但datatables.net找不到,因为您为它定义了不同的名称dataTable

这意味着需要为datatables.net 更改dataTable路径

datatables.net: 'https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min',

通过这种方式,您只需要将jquerydataTableBootstrap 定义为依赖项

define(["jquery", "dataTableBootstrap"], function ($) {
    // code here
}

这应该可以解决问题,但我并没有测试它。

至于垫片。它只对非requirej(非AMD)依赖项是必需的,因为您需要自己指定它们的依赖项。AMD模块转而管理它们的依赖关系。