Ошибка при интеграции SheetJS в Angular 4 + SystemJS (angular-seed)

Я использую этот исходный проект с Angular 4 и SystemJS (angular-seed)

И хотите использовать SheetJS для экспорта файла Excel. Я следую инструкции, могу импортировать xlsx нормально, но при экспорте файла он постоянно возвращает ошибку:

XLSX.utils.aoa_to_sheet is not a function

Я добавил в проект.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.

Кто уже сталкивался с этой проблемой, может подсказать как решить. Любая помощь приветствуется. Спасибо.


person imrhung    schedule 27.03.2018    source источник


Ответы (1)


У меня только что была эта проблема (но в приложении для реагирования) «xlsx.core.min.js» на самом деле не будет работать

Я никогда не использовал angular, но думаю, что такая конфигурация может работать.

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

Также я бы посоветовал использовать «разделение кода», если оно доступно для вашего проекта, потому что это огромная зависимость.

person alex    schedule 27.03.2018