Search code examples
laravelwebpackdatatableslaravel-elixirjszip

Datatables.net Excel export button is not displayed when using webpack


I'm using laravel 5.7 with elixir wrapper for webpack.

I added Datatables.net fine but Excel export button is not displayed.

This is my 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');

however the button Excel shows fine if I just add this to my html

<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>

I recon, jszip is not being required properly. What is a proper way?

No errors in js console.

jszip was downloaded fine into node_modules, like so

$ npm install jszip --save-dev

Solution

  • This is vendor.js is working fine:

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