Angular 2 项目 'window.require is not a function' 错误中的 Wijmo ExcelImportExport
Wijmo ExcelImportExport in Angular 2 project 'window.require is not a function' error
我在 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。
在index.html文件中导入带有<script>
标签的jszip库解决了问题。我想找到一个 webpack 解决方案,但这至少解决了这个问题。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script>
我在 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。
在index.html文件中导入带有<script>
标签的jszip库解决了问题。我想找到一个 webpack 解决方案,但这至少解决了这个问题。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script>