Angular2 FileSaver.js - 无法找到模块'文件保护程序'

时间:2016-09-23 22:21:46

标签: angular typescript

我正在努力将角度1.x站点移动到我使用angular-cli 1.0.0-beta.15创建站点的新角度2.0站点。

我有一个按钮可以将一些数据导出到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');
...

有谁知道如何解决此错误?

4 个答案:

答案 0 :(得分:14)

只需使用此导入语句

import * as fileSaver from 'file-saver';

答案 1 :(得分:2)

在angular-cli上你应该:

1)将库安装到node_modules:

npm i -S file-saver

2)在angular-cli.json文件中的'scripts'中添加js文件的引用:

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

3)在你的typings.d.ts文件中:

declare function saveAs();

之后,您可以在任何需要的地方使用saveAs():

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

祝你好运!

答案 2 :(得分:0)

按如下所示安装库

npm install file-saver --save

这将解决您的问题。

答案 3 :(得分:-1)

安装新版本的TypeScript 2 .. ..