Datatables.net Excel 使用webpack时不显示导出按钮
Datatables.net Excel export button is not displayed when using webpack
我正在使用 laravel 5.7 和用于 webpack 的 elixir 包装器。
我添加 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');
但是按钮 Excel 显示 很好 如果我只是将它添加到我的 html
<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
这是 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');
如果你没有使用 Bootstrap,你应该使用这个:
var table = $('#example').DataTable( {
buttons: [
'copy', 'excel', 'pdf'
] } );
table.buttons().container()
.appendTo( $('<#elementWhereYouNeddToShowThem>', table.table().container() ) );
我正在使用 laravel 5.7 和用于 webpack 的 elixir 包装器。
我添加 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');
但是按钮 Excel 显示 很好 如果我只是将它添加到我的 html
<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
这是 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');
如果你没有使用 Bootstrap,你应该使用这个:
var table = $('#example').DataTable( {
buttons: [
'copy', 'excel', 'pdf'
] } );
table.buttons().container()
.appendTo( $('<#elementWhereYouNeddToShowThem>', table.table().container() ) );