2015年8月11日 星期二

解決 cordova plugin 無法安裝的問題

最近幾天要為開發的 app 安裝 plugin,出現 "Error: EXDEV, cross-device link not permitted" 的錯誤訊息

大神了一下原來是升級到 cordova 5.0.0 到 5.1.1 版本,在 windwos 系統會出現此問題
原文在這 Plugin install via git url error "cross-device link not permitted"

解決方法在這裡 apache / cordova-lib GitHub ,文中提到要修改 plugins.js 這個檔案,這個檔案的位置藏得蠻深的有點不好找 =  =

C:\Users\你的帳號\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\plugman\util\plugins.js

開啟檔案後將 GitHub 中標註紅色的部份刪除,綠色的部份加到檔案中存檔,之後就可以正常安裝 plugin 了

幾句話簡單解釋 AngularJs Service, Provider, Factory

1、Service, Factory, Provider 都是 Signlton 在 angular 初始化時就會將所有Module 載入, 在之後的應用中無論注入幾次都是叫用同一個實例.

2、Service 沒有 return 區塊, 通常以 this.object = {}的方式設定物件, 物件可以是字串、Array、function, angular 注入會以 new class() 方式回傳物件

3、Factory 只會取得 return 區塊的本身, return 區塊以外可另外定義物件但不會被外部取得

4、Provider 以 $.get 回傳物件, 在 provider 裡可以另外設置 function 用來傳入參數, 通常會配合 Service 或 Factory, 在 $.get 中回傳 Service 或 Factory 物件