使用Webpack时不会显示Datatables.net Excel导出按钮

时间:2019-01-30 07:07:14

标签: laravel webpack datatables laravel-elixir jszip

我正在将laravel 5.7和长生不老药包装用于Webpack。

我很好地添加了Datatables.net,但未显示Excel导出按钮。

这是我的vendor.js

require('datatables.net');
require('datatables.net-bs4');
require('jszip');
require('datatables.net-buttons');
require('datatables.net-buttons/js/buttons.flash.js');
require('datatables.net-buttons/js/buttons.html5.js');

如果我只是将其添加到html

中,则按钮Excel会显示 fine
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>

我确认,jszip的使用不正确。什么是正确的方法?

js控制台中没有错误。

jszip已很好地下载到node_modules,就像这样

$ npm install jszip --save-dev

2 个答案:

答案 0 :(得分:0)

vendor.js正常工作:

require('datatables.net');
require('datatables.net-bs4');
window.JSZip = require('jszip');    
require('datatables.net-buttons');
require('datatables.net-buttons/js/buttons.flash.js');
require('datatables.net-buttons/js/buttons.html5.js');

答案 1 :(得分:0)

如果您不使用Bootstrap,则应使用此功能:

var table = $('#example').DataTable( {
buttons: [
    'copy', 'excel', 'pdf'
] } );


table.buttons().container()
.appendTo( $('<#elementWhereYouNeddToShowThem>', table.table().container() ) );