Я использую текущую сборку Wijmo (5.20172.359) в проекте Angular 2 (Angular 4.4.4, TypeScript 2.5.3). Все, что я использовал (FlexGrid, FlexPie, FlexCharts), работает нормально, однако...
Я пытаюсь интегрировать функцию импорта Excel и использую проект ExcelImportExport, включенный в образцы TS/Angular2, загруженные вместе со сборкой, и при сборке получаю следующую ошибку:
Uncaught TypeError: window.require is not a function
at Object../node_modules/wijmo/wijmo.xlsx.js (app.js:86218)
at __webpack_require__ (app.js:678)
at fn (wijmo.grid.xlsx.js:13)
at Object../node_modules/wijmo/wijmo.grid.xlsx.js (app.js:86158)
at __webpack_require__ (app.js:678)
at fn (wijmo.grid.xlsx.js:13)
at Object../app/home/components/import-grid/import-grid.component.ts (app.js:12533)
at __webpack_require__ (app.js:678)
at fn (wijmo.grid.xlsx.js:13)
at Object../app/home/home.module.ts (app.js:19226)
У меня есть следующий импорт в компоненте:
import * as JSZip from 'jszip';
import * as wjcGrid from 'wijmo/wijmo.grid';
import * as wjcCore from 'wijmo/wijmo';
import * as wjcXlsx from 'wijmo/wijmo.xlsx';
import * as wjcGridXlsx from 'wijmo/wijmo.grid.xlsx';
import { WjGridModule } from 'wijmo/wijmo.angular2.grid';
И проблема исчезнет, если я удалю следующее:
import * as wjcGridXlsx from 'wijmo/wijmo.grid.xlsx';
Однако (очевидно) для функции импорта Excel требуется wjcGridXlsx, так что это просто указывает мне, в чем заключается конкретная проблема.
Мне непонятно, как это решить.
Модуль wijmo.xlsx кажется оболочкой вокруг https://github.com/SheetJS/js-xlsx, и я могу найти несколько ссылок на ошибки, реализующие это, но ничего, что привело бы меня к решению.
Я использую webpack, а не Angular CLI.