我有一個使用Common JS模塊和System JS加載器的Typescript 2.0項目。我使用Visual Studio代碼作爲IDE。我在項目中使用外部庫(filesaver JS)時遇到問題。如何在Typescript 2.0項目中使用外部庫?
我通過npm安裝了library和type definition。兩者分別出現在我的node_modules和node_module/@類型中。
如何在保存blob(轉換爲JSON字符串的對象)的函數中引用(導入)我的TypeScript代碼中的filesaver saveAs函數?
我嘗試了導入的幾種變體,但是他們都不適合我。我得到'index.d.ts'不是模塊錯誤,或'模塊未找到'錯誤。
這裏是我的嘗試:
import filesaver = require('FileSaver'); //error: index.d.ts is not a module import {FileSaver} from 'file-saver'; //error: cannot find module file-saver
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es6", "es2015", "dom"],
"sourceMap": true,
"pretty": true,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitUseStrict": false,
"noFallthroughCasesInSwitch": true,
"typeRoots": [
"./node_modules/@types",
"./node_modules"
],
"types": [
"node"
]
},
"exclude": [
"node_modules",
"dist",
"src"
],
"compileOnSave": false
}
您可以顯示您的tsconfig.json(如果您使用的是)文件,並且可以提供如何嘗試導入它的示例? –
@DaveV - 爲問題添加了所需的信息。 – ebhh2001
我剛纔說得太早了,但我認爲我已經開始工作了(或者至少有一個解決方法)。我無法獲得一個'import'工作,但我正要做'var fileSaver = require(「file-saver」);'然後像'fileSaver.saveAs();'調用'saveAs';' –