2016-03-18 73 views
0

我正在創建一個名爲X的涼亭包,它取決於angular-local-storage。 我在bower.json中保存了angular-local-storageangular.module('X', ['LocalStorageModule']);如何設置涼亭軟件包依賴關係?

的服務爲:

angular 
    .module('X') 
    .service('XService', XService); 

function XService($resource, $q, $window, LocalStorageService) {...} 

當我安裝在另一個項目涼亭包X,沒有發現LocalStorageModule作爲

我的模塊聲明。

我該如何管理這種依賴關係?

編輯:錯誤是:

Unknown provider: LocalStorageServiceProvider <- LocalStorageService <- XService

回答

1

爲了建立一個涼亭包,你需要確保你遵循以下步驟:

涼亭包:X

  1. 本以下(最小)配置準備bower.json:

    { 
        "name": "your-package-x", 
        "version": "1.0.0", 
        "main": "dist/your-package-x.min.js", 
        "dependencies": { 
        "angular": "1.5.0", 
        "angular-local-storage": "2.0.7" 
        ... 
        } 
    } 
    
  2. 構建所有包的文件到DIST /你的包,x.min.js(使用您喜歡的構建工具)

  3. 如果包有HTML模板,你應該建立一個templateCache文件,並將其添加到內置文件(使用你的構建工具):

    一個。咕嚕咕嚕:https://www.npmjs.com/package/grunt-angular-templates

    b。與一飲而盡爲例:https://www.npmjs.com/package/gulp-angular-templatecache

  4. 發佈到鮑爾

外部項目

  1. 添加您的包-X依賴於你的bower.json:

    { 
        "name": "main-project", 
        "version": "1.0.0", 
        "dependencies": { 
        "your-package-x": "path to repo or version" 
        ... 
        } 
    } 
    
  2. 安裝涼亭
  3. 注入包-x和它的依賴:

    <script src="bower_components/angular/angular.min.js"></script> 
    <script src="bower_components/angular-local-storage/dist/angular-local-storage.min.js"></script> 
    <script src="bower_components/dist/your-package-x/dist/your-package-x.min.js"></script> 
    

    ==>或使用一個構建工具來爲你做它(查找wiredep

我希望這快速指南將有所幫助。

2
  • 增加 'LocalStorageModule' 到依賴你的主要模塊的列表。
  • 包括angular-local-storage.js(或angular-local-storage.min.js)在你的index.html的dist目錄中,包括Angular本身。

我建議你佈置你的工廠或服務是這樣的:

.service('ServiceName', ['$log','OtherService', function($log, OtherService){ 
    var serviceInstance = {}; 
    //stuff 
    return serviceInstance; 
}]); 

這有更多的樣板絕對比你所需要的,但它是微小的安全,並保持你的命名空間清潔。

+0

'LocalStorageModule'在主列表中,當我將該指令添加到視圖時,我仍然有錯誤。 (lib也包含在index.html中)我只是注意到該指令包含index.html,所以角度依賴關係設置了兩次:'警告:試圖加載角度不止一次.'''''''''' – Gura

+1

當您安裝此模塊時鮑爾要求你更新一些依賴關係! (堅持)?讓我看看bower.json和index.html – que1326