NPM Datatable Excel按钮未显示

Joh*_*son 5 datatable excel jquery datatables node.js

现在显示数据表中的“ 我的Excel按钮”。我正在使用NPM导入所有脚本, 所有其他按钮都可以正常工作PDF,Copy,Print)。仅Excel不起作用。

检查我的进口

import 'datatables.net-bs'
import 'datatables.net-buttons-bs'
import 'datatables.net-responsive-bs'
import 'datatables.net-buttons/js/buttons.colVis.js'
import 'datatables.net-buttons/js/buttons.flash.js'
import 'jszip'
import pdfMake from 'pdfmake/build/pdfmake'
import pdfFonts from 'pdfmake/build/vfs_fonts'
import 'datatables.net-buttons/js/buttons.html5.js'
import 'datatables.net-buttons/js/buttons.print.js'

pdfMake.vfs = pdfFonts.pdfMake.vfs
Run Code Online (Sandbox Code Playgroud)

我的配置

let datatableConfig = {
    responsive: true,
    "dom": '<"html5buttons"B>lTfgtip',
    "buttons": [
        { extend: 'copy' },
        { extend: 'excel'}, 
        { extend: 'excelHtml5' },
        { extend: 'pdf'  },
        { extend: 'print' }
    ]
};

$('#dataTable').DataTable(datatableConfig)
Run Code Online (Sandbox Code Playgroud)

如果我https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.4/jszip.min.js直接在HTML中输入内容,则可以。如何使用不起作用import(是的,已经安装了jszip)

谢谢!

Ady*_*one 6

我在require语法上遇到了同样的问题,我不得不这样做:

window.JSZip = require( "jszip" );
Run Code Online (Sandbox Code Playgroud)

我不知道语法,import但也许是这样的

import window.JSZip from 'jszip';
Run Code Online (Sandbox Code Playgroud)

或者

JSZip from 'jszip';
Run Code Online (Sandbox Code Playgroud)

或者

import JSZip from 'jszip';
window.JSZip = JSZip;
Run Code Online (Sandbox Code Playgroud)