首页 文章

Angular 2项目中的Wijmo ExcelImportExport 'window.require is not a function'错误

提问于
浏览
0

我在Angular 2项目(Angular 4.4.4,TypeScript 2.5.3)中使用了当前版本的Wijmo(5.20172.359) . 我一直在使用的所有东西(FlexGrid,FlexPie,FlexCharts)工作得很好,但是......

我正在尝试集成Excel导入功能,并使用随构建下载的TS / Angular2示例中包含的ExcelImportExport项目,我在构建时遇到以下错误:

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 .

1 回答

  • 0

    在index.html文件中使用 <script> 标记导入jszip库可以解决问题 . 我想找到一个webpack解决方案,但这至少解决了这个问题 .

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

相关问题