Requirejs 和 AngularJS 中依賴注入
1. 目標:瞭解在 javascript 中是如何實現依賴注入。
2. 面向人群:web前端開發者
3. 內容:通過示例演示,講解在 requirejs(以非同步載入) 和 Angularjs(反射機制) 是如何實現模組依賴注入
4. 開發工具 visual studio code (推薦)
5. 使用 expect.js 進行測試
前言
這裡概念比較抽象,難於理解,我嘗試給大家解釋清楚。
要開發一個可擴充套件的大型的 web 應用,模組化管理是必不可少的。在開始之前,讓我們簡單看一下計算機原理。計算機本身就是對大型結構的抽象。我們通過不斷地包裹抽象並提供介面,這樣一層一層地實現計算機複雜的結構。
我們每天使用開發語言也一樣,語言本身提供許多內建的方法,
這些方法是對基本的運算子號進行抽象包裹,以便開發人員使用。我們也可以基於這些方法進行抽象,封裝後提供介面來建立模組。以便其他開發人員使用這個模組。瞭解模組化作用和必要性,我們來回到今天正題依賴注入。
為了演示依賴注入,我們先建立兩個模組,一個對 ajax 進行抽象封裝,另一個是對路由進行管理的模組。
通常會在應用中這樣呼叫它。
1. 先看一看AMD 方式進行注入。
然後實現 resolve 方法
另一種方式就是通過反射來實現依賴注入
反射是程式的一種能力,可以在程式執行時檢查和修改物件的結構和行為,聽起來很抽象,琢磨琢磨吧
今天分享的有關依賴注入的內容,雖然聽起來有些新奇,其實並不那麼神祕
可能在實際開發中你已經通過各種方式對他進行實現,只是沒有覺察到