技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
我從 Angular 中分離出來依賴註入:`static-injector`
angular
nodejs
web
frontend
wszgrcy
2024-03-24 14:05:04
‧
520 瀏覽
分享至
Angular 中的依賴註入確實非常好用,可以使服務之間的依賴關系變得更加靈活和可復用
但是只能在 Angular 中的使用限製了他的發揮,需要讓他在所有 node/前端 平臺上都可以使用
如何使用?
如果你並不關心是如何實現的,可以直接
訪問使用文檔
為什麽不寫一個與 Angular 依賴註入相同的包
一個成熟的功能往往經過了多方面的考量,所以如果能不造輪子那麽是最好的
直接使用 Angular 的源碼可以保證功能與官方一直同步,不需要擔心自己實現的邏輯與官方之間存在差異
node/前端使用同樣的邏輯沒有心智負擔
直接復製代碼就能使用了?
當然不是,首先 Angular 中的源碼都是為了它自身設計服務的,所以會有一些我們不需要的功能需要刪減.比如
@Module
會有依賴註入相關的代碼,
@Host
等組件裝飾器,還有更多非通用依賴都需要去除
Angular 使用依賴註入為靜態依賴註入,所以需要實現自己的靜態編譯方法,保證代碼與官方一致
需要創建接口,對接並調用 Angular 源碼,使得功能正常運行
運行成功就結束了?
運行成功不是結束,反而是開始的第一步,代碼成功獨立執行了,那麽接下來就要保證代碼能與
Angular
官方同步,不錯過新的特性,也不錯過缺陷修復
所以我們要找到一種可以穩定修改代碼的方法,可以隨著項目更新自動對代碼進行裁剪,然後針對裁剪結果進行細微調整,減少工作量
使用
Code Recycle
對代碼進行穩定更新同步
更新同步腳本
通過腳本對 Angular 源碼進行拉取,使用 css 選擇器語法查詢並修改代碼
修改代碼之後對代碼進行測試
每次更新後只需要修改 tag => 同步更新 => 測試 => 調整(如果有問題) => 發布.減少了手工修改可能產生的問題
如何知道倉庫支持哪些功能
查看用例
所有存在的用例均經過了測試驗證,如果您有其他功能需要使用也可以提交 issue
留言
追蹤
檢舉
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22210
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
mail server 主機推薦
Outlook 2016 收不到外來信 已解決
windows11的複製功能出現問題
有關Chrome瀏覽器擴充功能,選定特別類型檔案封鎖上傳,並且三秒後關掉網頁
minIO 跟超融合
Chrome瀏覽器限制上傳檔案類型
SQL 如何將同欄位數據依照條件拆分成不同欄的資料
mongodb atlas 連線速度變慢或斷線
CTF GAME
同網段下無法連線到印表機
熱門回答
mail server 主機推薦
SQL 如何將同欄位數據依照條件拆分成不同欄的資料
windows11的複製功能出現問題
有關Chrome瀏覽器擴充功能,選定特別類型檔案封鎖上傳,並且三秒後關掉網頁
Outlook 2016 收不到外來信 已解決
熱門文章
「記憶體與基本儲存電路:Latch & Flip Flop」
請問大家有爬蟲Shopee的經驗嗎?
計算訊號 - 快取錯誤 and Equal 函數不追蹤訊號
從零開始學習Java筆記(基本語法)
KMP 演算法筆記
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}