Angular2 FileSaver.js [英] Angular2 FileSaver.js

查看:376
本文介绍了Angular2 FileSaver.js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用具有角度2的FileSaver.js,它的工作原理很好;但是,我的构建中出现语义错误:


错误TS2304:找不到名称saveAs


我正在使用角度2种子,并将库添加到我的project.config中,如下所示:

  this.NPM_DEPENDENCIES = [
... this.NPM_DEPENDENCIES,
{src:'file-saver / FileSaver.min.js',inject:true} ,

];


this.SYSTEM_CONFIG_DEV.paths ['file-saver'] =
`$ {this.APP_BASE} node_modules / file-saver / FileSaver`;

this.SYSTEM_BUILDER_CONFIG.packages ['file-saver'] = {
main:'FileSaver.js',
defaultExtension:'js'
};

我可以在我的组件中使用saveAs:

  downloadFile(data:any){

var blob = new Blob([data],{type:'text / csv'});

// saveAs是FileSaver.js库中的一个函数https://github.com/eligrey/FileSaver.js
saveAs(blob,results.csv);
}

问题是,语义错误导致我的构建失败,推送到我的云环境。



我尝试通过以下方式添加输入:

  npm i @ types / file-saver 

这允许我导入:


$来自'file-saver'的b $ b

  import {saveAs}; 

但是,这给了我错误:



< blockquote>

h.saveAs不是一个函数



解决方案

只是想出来了我需要删除该变量以便使用typcript来使用它:

  declare var saveAs:any; 


I'm using FileSaver.js with angular 2 and it works pretty well; however, I'm getting a semantic error in my build:

error TS2304: Cannot find name 'saveAs'

I'm using the angular 2 seed and added the library to my project.config like this:

this.NPM_DEPENDENCIES = [
      ...this.NPM_DEPENDENCIES,
{src: 'file-saver/FileSaver.min.js', inject: true},

    ];


this.SYSTEM_CONFIG_DEV.paths['file-saver'] =
        `${this.APP_BASE}node_modules/file-saver/FileSaver`;

    this.SYSTEM_BUILDER_CONFIG.packages['file-saver'] = {
      main: 'FileSaver.js',
      defaultExtension : 'js'
    };

I can use saveAs in my component:

downloadFile(data: any){

        var blob = new Blob([data], { type: 'text/csv' });

        //saveAs is a function in the FileSaver.js library https://github.com/eligrey/FileSaver.js
        saveAs(blob, "results.csv");
    }

The problem is that the semantic error causes my build to fail when pushed to my cloud environment.

I've tried adding the typing via:

npm i @types/file-saver

This allows me to import:

import { saveAs } from 'file-saver';

However, this gives me the error:

h.saveAs is not a function

解决方案

Actually just figured it out. I needed to delcare the variable in order for typescript to use it:

declare var saveAs:any;

这篇关于Angular2 FileSaver.js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆