带有RequireJS的数据表按钮扩展

时间:2016-06-17 06:02:39

标签: javascript jquery datatables

我有使用require js加载数据表库的问题 这是我的代码

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

我在开发控制台上遇到此错误 error log

感谢您的帮助..

1 个答案:

答案 0 :(得分:0)

您缺少很多.js脚本文件。找出所需脚本文件的最简单方法是转到DataTables download builder(即使您没有下载)并选择所需的扩展/功能。这将生成您需要包含的脚本文件列表(用于下载或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导出按钮起作用,则必须使用jszip(这在DataTables下载页面中有记录)
  • pdfmake是pdf导出按钮工作所必需的
  • vfs_fonts也是pdfmake的一部分
  • 您需要两个buttons.html5脚本文件才能使按钮正常工作(假设您要使用HTML5按钮,如果您想使用Flash按钮,则必须转到下载构建器并选择Flash按钮)

这些应该是您需要包含的所有脚本(据我可以从您的代码段中看出来)但是如果您想要仔细检查甚至添加更多功能,我建议您查看上面的链接可以找到您需要的脚本文件列表。