将SheetJS集成到Angular 4 + SystemJS(angular-seed)时出错

时间:2018-03-27 07:21:26

标签: angular systemjs angular-seed sheetjs

我在Angular 4和SystemJS(angular-seed)中使用此种子项目

并希望使用SheetJS导出Excel文件。我按照说明操作,可以导入xlsx很好,但是当导出文件时它会不断返回错误:

XLSX.utils.aoa_to_sheet is not a function

我已添加到project.config.ts

 ...
 {
    name: 'xlsx',
    // Path to the package's bundle
    path: 'node_modules/xlsx/dist',
    packageMeta: {
      defaultExtension: 'js',
      main: 'xlsx.core.min.js'
    }
  }

甚至修改seed.config.ts

meta: {
    'xlsx': {
        exports: 'XLSX' // <-- this is needed to tell SystemJS to expose XLSX
    }
},
map: {
    'fs': '',     // <--|
    'crypto': '', // <--| suppress native node modules
    'stream': '', // <--|
},

但仍然不能让SystemJS理解正确导入XLSX。

任何人在遇到此问题之前都可以建议我如何修复它。任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

我刚遇到这个问题(但在反应应用程序中)“xlsx.core.min.js”将无法正常工作

我从未使用过角度,但我想像这样的配置可以正常工作

{
    name: 'xlsx',
    // Path to the package's bundle
    path: 'node_modules/xlsx',
    packageMeta: {
        defaultExtension: 'js',
        main: 'xlsx.js'
    }
}

另外我建议使用“代码分割”,如果你的项目可用,因为这是一个巨大的依赖