![](/img/trans.png)
[英]Adding Scripts of external libraries(Bootstrap,jquery..) in custom Angular Library
[英]Adding external scripts to angular 2
因此,例如,如果您想在角度應用程序中包含諸如條帶之類的支付系統。 但是,唯一的方法是像這樣訪問腳本。
<script src="https://checkout.stripe.com/checkout.js"></script>
我知道,僅將其放入index.html文件中並不是一件好事。 我還看到有人提到文章訪問此類窗口
(<any>window)
在有角度的應用中。 我認為引用全局窗口對象不是一個好主意。
因此,最好的或接近最佳的替代方案是允許某人在其angular 2模塊中使用外部腳本。
我建議從此處使用庫的鍵入版本: https : //www.npmjs.com/package/@types/stripe
如果遇到DefinitelyTyped中不存在的庫,則始終可以創建該lib的類型定義,然后推送到DefinitelyTyped的存儲庫。
我認為最好的方法是使用軟件包管理器,例如npm
或bower
。 然后,您可以將文件包括在angular-config文件中。 然后,某些軟件包會提供其TypeScript類型,因此您可以輕松地將它們導入TypeScript模塊中。
如果您所需的庫沒有package-manager軟件包,我可能會將腳本復制到我自己的js目錄中。 因此,我可以比僅使用CDN更好地維護腳本的版本。
還有我首選的處理庫的方式,該庫不提供TypeScript的類型。 我創建自己的類型/接口並投射所需的對象。 例:
interface Greeter
{
sayHello(name: string): string;
sayGoodbye(name: string): string;
}
(<Greeter>window.greeter).sayHello('Peter');
然后我有自動補全和正確的類型。
我不確定這是否是最佳建議/替代方法,但這是我的方法。 但是我對其他人的建議很感興趣!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.