Angular2 FileSaver.js - Не удается найти модуль "файловый менеджер"

Я работаю над перемещением сайта angular 1.x на новый сайт angular 2.0, который я создал на сайте, используя angular -cli 1.0.0-beta.15.

У меня есть кнопка для экспорта некоторых данных в файл CSV. Когда первая страница загружается, появляется сообщение об ошибке "Невозможно найти файл-хранитель модуля", но когда я нажимаю кнопку, все работает отлично.

У меня установлен компонент FileSaver.js:

package.json

...
"dependencies": {
  ...
  "@types/filesaver": "0.0.30",
  "file-saver": "^1.3.2"
  ...
}
...

в моей export.service.ts:

import { saveAs } from 'file-saver';
...
let file = new Blob(['hello world'], { type: 'text/csv;charset=utf-8' });
saveAs(file, 'helloworld.csv');
...

Кто-нибудь знает, как решить эту ошибку?

Ответ 1

Установите новую версию TypeScript 2. Это должно работать.

Ответ 2

просто используйте этот статус импорта

import * as fileSaver from 'file-saver';

Ответ 3

В angular -cli вы должны:

1) установите библиотеку на node_modules:

npm i -S file-saver

2) добавьте ссылку js файла на "скрипты" в файле angular -cli.json:

"scripts": ["../node_modules/file-saver/FileSaver.js"]

3) в файле typings.d.ts:

declare function saveAs();

после этого вы можете использовать saveAs() везде, где вам нужен пример:

export class MyClass{
  constructor(){
    saveAs(blablabla...)
  }
}

Удачи!

Ответ 4

Установите библиотеку следующим образом,

npm install file-saver --save

Это решит вашу проблему.