使用RequireJS的Datatables按钮扩展

4
我有一个问题,使用require js加载datatable库时遇到了问题。这是我的代码:
require.config({
    paths: {
        "jquery" :    "https://code.jquery.com/jquery-2.2.4.min",
        "datatables" : "https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min",
        "datatables-btn" : "https://cdn.datatables.net/buttons/1.2.1/js/dataTables.buttons.min",
    }
});


requirejs( ["datatables", "datatables-btn"], function() {
    $('#example').DataTable( {
        dom: 'Bfrtip',
        buttons: [
            'copy', 'csv', 'excel', 'pdf', 'print'
        ]
    });
});

我在开发控制台中遇到了这个错误 错误日志

感谢您的帮助。


这是文件丢失的情况吗? - jkris
是的先生,我不知道为什么需要datatables.net.js。如果我从requirejs中删除“datatables-btn”,就不会出现问题,但我需要datatables按钮扩展。 - Pajar Fathurrahman
1个回答

0
你缺少许多 .js 脚本文件。找出所需的脚本文件最简单的方法是前往 DataTables 下载构建器(即使您不打算下载),并选择您所需的扩展 / 功能。这将生成您需要包含的脚本文件列表(用于下载或 CDN),然后您可以将其转换为 RequireJS 语法以进行包含。我整理了一个似乎是你需要的清单,这里它是:
"https://code.jquery.com/jquery-2.2.3.min.js"
"https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"
"https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/pdfmake.min.js"
"https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/vfs_fonts.js"
"https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"
"https://cdn.datatables.net/buttons/1.2.1/js/dataTables.buttons.min.js"
"https://cdn.datatables.net/buttons/1.2.1/js/buttons.html5.min.js"
"https://cdn.datatables.net/buttons/1.2.1/js/buttons.print.min.js"

你可能认为这太多了,或者我添加了不必要的脚本,但是让我解释一下这些添加。

  • 如果您想要使Excel导出按钮正常工作(这在DataTables下载页面上有记录),则需要jszip。
  • pdfmake对于pdf导出按钮的工作是必需的。
  • vfs_fonts也是pdfmake的一部分。
  • 您需要两个buttons.html5脚本文件才能使按钮正常工作(假设您想使用HTML5按钮,如果您想使用Flash按钮,则必须转到下载生成器并选择Flash按钮)。

这些应该是您需要包含的所有脚本(就我从您的代码片段中所看到的而言),但是如果您想要再次检查甚至在以后添加更多功能,我建议您查看上面的链接以找到所需的脚本文件列表。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接