2016-03-18 74 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