我努力讓FileSaver在我的項目中工作。這裏是確切的一步,我花了獲取外部JS庫爲Angular 2工作
NPM安裝filesaver.js --save
內app.component.ts
進口*爲FileSaver從「filesaver。 JS';
然後我得到這個錯誤
找不到模塊 'filesaver.js'。
我也試圖添加以下到我的角cli.json文件
"scripts": [
"../node_modules/filesaver.js/FileSaver.min.js"
]
This的是,我能找到,可以幫助最接近的一次。然而,這個人和我有不同的設置。有一個簡單的方法來使用這個文件嗎?
請注意,從npm安裝FileSaver後,在我的節點模塊中,我得到filesaver.js文件夾(不知道爲什麼他們有.js作爲文件夾名稱)。此文件夾中,我得到FileSaver.js和FileSaver.min.js
我也曾嘗試
進口*爲FileSaver從 'filesaver.js/FileSaver.min.js';
但是,這只是給了我
找不到模塊 'filesaver.js/FileSaver.min.js'。)
----更新---
我也試過typings file這個via
npm i @types/filesaver
,結果是一樣的
---- -----更新
這是我如何得到它的工作。
添加@ types/filesaver並添加了以下代碼。
declare module 'filesaver' {
var saveAs: any;
export = saveAs;
}
注意。我在修改node_module文件中的內容是不好的。這意味着每次用戶運行npm install時,自定義代碼都不會在那裏。如何解決它?
從npm下載的默認文件夾名是filesaver.js。我將其更改爲filesaver。他們爲什麼會把它命名爲。JS,程序似乎有麻煩識別出它是一個文件夾
然後導入*爲filesaver從「filesaver」
然後我可以叫
var blob = new Blob(['Some Content'], { type: "text/csv;charset=utf-8" });
filesaver.saveAs(blob, "hello world.csv");
-----文件夾結構 - ---
角-CLI:1.0.0-beta.26節點:6.9.1 OS:達爾文64 @角/共同:2.4.5 @角/編譯器:2.4.5 @角/芯:2.4.5 @ angular/forms:2.4.5 @a ngular/HTTP:2.4.5 @角/材料: 2.0.0-beta.1 @角/平臺的瀏覽器:2.4.5 @角/平臺的瀏覽器的動態:2.4.5 @角/路由器:3.4.5 @角/編譯器CLI:2.4.5
您需要相應的.d.ts文件才能將JS文件識別爲TS模塊。使用現有的,即https://www.npmjs.com/package/@types/filesaver – estus
感謝您的答覆。我忘了提及我也試過npm i @ types/filesaver --save。但是,它沒有工作。有什麼步驟來使它與它一起工作? CHeers – user172902
考慮到你有TS 2.0,它通常按照你所描述的完成。 – estus