我在 angular 2 中使用 FileSaver.js,它运行良好;但是,我在构建中遇到语义错误:
error TS2304: Cannot find name 'saveAs'
我正在使用 angular 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 is a function in the FileSaver.js library https://github.com/eligrey/FileSaver.js
saveAs(blob, "results.csv");
}
问题是语义错误导致我的构建在推送到我的云环境时失败。
我尝试通过以下方式添加输入:
npm i @types/file-saver
这允许我导入:
import { saveAs } from 'file-saver';
但是,这给了我错误:
h.saveAs is not a function
最佳答案
其实只是想通了。我需要声明变量以便 typescript 使用它:
declare var saveAs:any;
关于javascript - Angular2 FileSaver.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40978750/