在 Angular 8 应用程序中,我的组件有一个可以导出到 excel 文件的表。我为此使用了 xlsx 库。webpack-bundle-analyzer 显示 xlsx 库使用了我总块大小的 65%。
由于导出功能很少使用,我想将其从初始捆绑包中排除,以提高大多数用户的性能,并在用户单击“导出”时加载它,无论如何他们都需要等待下载。
这是我目前拥有的:
import * as xlsx from 'xlsx';
...
exportToExcel(filename, worksheet) {
const ws: xlsx.WorkSheet = xlsx.utils.json_to_sheet(this.tableData);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, worksheet);
xlsx.writeFile(wb, filename+'.xlsx');
}
我会想象这样的事情:
exportToExcel(filename, worksheet) {
loadScript('/scripts/xlsx.js').then(xlsx => {
const ws: xlsx.WorkSheet = xlsx.utils.json_to_sheet(this.tableData);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, worksheet);
xlsx.writeFile(wb, filename+'.xlsx');
})
}
有没有办法做到这一点?或者你有什么其他建议吗?