簡體   English   中英

將外部腳本添加到angular 2

[英]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的存儲庫。

我認為最好的方法是使用軟件包管理器,例如npmbower 然后,您可以將文件包括在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM