2017-05-15 92 views
0

我正在嘗試在Typescript中使用Google Login和Jquery。我已經確信,這些文件包含在項目:jquery.min和谷歌的導入:<script defer src="https://apis.google.com/js/platform.js"></script>如何在打字稿中使用外部JavaScript庫 - Angular 4

在我的部分我說:

declare var gapi: any; 
declare var $: any; 

但我仍然ng serve收到錯誤:

找不到命名空間'gapi'。

如何在Typescript Angular 4中正確引用或導入外部JavaScript庫/名稱空間或函數?

+0

ng serve是angular-cli命令,與webpack config初始化相關。要加載外部js庫文件,您必須使用webpack解析器,然後將其導入到組件中,您還需要定義或添加其輸入。 – Houtan

回答

2

在本地安裝第三方庫,例如

npm i jquery --save 

Angular CLI項目有一個配置文件.angular-cli.json。添加了jQuery腳本節還有,這將是全球範圍內可用於您的應用程序,例如:

「腳本」:

"../node_modules/jquery/dist/jquery.js" 

]

這也是安裝類型是個好主意定義文件如果可用。那麼你不需要聲明任何類型的變量,例如

npm i @types/jquery --save-dev 
+0

請試試看,謝謝!但是那些不在npm上的JavaScript庫呢?說,我創建myown.js - 我如何引用它? – Raven

+0

然後你可以像你一樣使用聲明。另一種選擇是在代碼示例中執行類似操作(但它不是CLI項目):https://github.com/Farata/angular2typescript/tree/master/chapter2/hello-world-ts-jquery –

相關問題