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

Posted

技术标签:

【中文标题】使用 webpack 时不显示 Datatables.net Excel 导出按钮【英文标题】:Datatables.net Excel export button is not displayed when using webpack 【发布时间】:2019-06-23 09:42:54 【问题描述】:

我正在使用 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');

但是,如果我只是将其添加到我的 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

【问题讨论】:

【参考方案1】:

这是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');

【讨论】:

【参考方案2】:

如果你不使用 Bootstrap,你应该使用这个:

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


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

【讨论】:

问题主要是关于webpack的,谢谢你的回答

以上是关于使用 webpack 时不显示 Datatables.net Excel 导出按钮的主要内容,如果未能解决你的问题,请参考以下文章

Rails 6 + Webpack + jQuery 刷新时不保存更改

如何使用 responsive="scroll" 将高度设置为 mui-datatable

devexpress gridcontrol datatable 中设置一列为bool在gridview会显示为复选框,请问这个复选框有啥事件

如何使用 jquery.datatable 显示空表

使用 DataTable.ExtendedProperties 在网格中显示有限数量的列

web前端入门到实战:css实现单行、多行文本超出显示省略号