簡體   English   中英

最佳實踐:Typescript:讓客戶使用自定義代碼擴展應用程序

[英]Best practice: Typescript: Let a customer extend an application with custom code

我們有一個基於 angular 9 的應用程序框架,它使客戶可以使用字段和布局配置應用程序。 這很好用。

但現在我們到了一點,客戶想要實現特殊功能,例如“他在文本字段中輸入一個值,並且應該觸發對 3rd 方軟件的請求以加載新數據並自動填充其他值”。

我們可以實現所有可能的交互或允許在 javascript 中創建自定義片段。

但是在過去,我對這些基本的 javascript 片段有很多糟糕的經歷,因為它們沒有像 typescript 為我提供的所需的標准功能。

1) 有沒有辦法讓用戶在運行時使用打字稿而不是平面 javascript 創建自定義代碼?

是的,我知道在運行之前需要編譯 typecript,但我問是因為我想知道是否有其他方法?

2) 替代問題:用戶可以開發 angular 應用程序並在運行時將其添加為插件嗎? 諸如擴展或自定義功能之類的東西,它們將添加到客戶的門戶中,而不是基本框架的一部分?

謝謝你的幫助。

我不知道我是否理解你的問題,但從我的角度來看,其他用戶想要與主 Angular 項目交互的唯一方法是he create a library使用命令ng generate library my-lib he create a library ( https://angular.io/guide/creating-libraries )

從那里他可以創建一個新模塊,然后其他人將這個新庫導入主項目,就是這樣。

新庫可以由“客戶”維護,如果庫托管在 npm 存儲庫中並且從主應用程序只需要npm i customer-lib@latest ,他可以發布新版本的庫

我回答你的問題了嗎?

問題是我們有一個托管的雲應用程序,我們有一個標准的實現,它已經編譯並部署在一個 docker 容器中。

現在,客戶應該可以通過添加腳本和模塊來擴展功能。 就像在wordpress中很常見。 如果你有一個標准的實現,如果你想要另一個所見即所得的編輯器,你可以安裝一個插件。

我知道注入代碼的唯一方法是通過 javascript,但我只是想問問是否有其他解決方案不會導致重新部署整個應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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