在多个文件

时间:2016-07-20 12:38:36

标签: angularjs typescript gruntjs

对于上下文,我们使用c#作为服务器,使用angularcript作为客户端,使用grunt构建客户端(而不是visual studio默认编译器)

我们希望在Visual Studio解决方案中分解两个项目之间的一些角度服务,使用grunt将所有文件放在一起。 目前的结构如下:

项目A

  
      
  • 应用      
        
    • 外部(我们在这里复制项目Common中的所有定义文件和js文件)
    •   
    • 订单      
          
      • orders.index.ts
      •   
      • 服务      
            
        • ordersService.ts
        •   
        • orders.services.index.ts
        •   
      •   
    •   
  •   

项目B

  
      
  • 应用      
        
    • 外部(我们在这里复制项目Common中的所有定义文件和js文件)
    •   
    • ...(没有特定的OrderService)
    •   
  •   

项目共同

  
      
  • 应用      
        
    • 订单
    •   
    • orders.index.ts
    •   
    • 服务      
          
      • ordersService.ts
      •   
      • orders.services.index.ts
      •   
    •   
  •   

我们在项目Common中的ordersService.ts中定义服务OrderService,因为项目A和项目B使用此服务的方法。 但是在项目A中,我们需要仅由项目A使用的其他操作,因此我们希望在项目A中扩展服务。

目前,唯一的结果是项目A文件被项目Common中的项目覆盖。那么是否有可能扩展角度服务,如果是,可以如何?

编辑:

更清楚,一个例子:

module Orders {

export interface IOrdersResourceClass extends ng.resource.IResourceClass<Common.IEmptyResource> {
    listAllOrders(success: (orders: Order[]) => void, error?: Function): void;
    getOrder(success: (order: order[]) => void, error?: Function): void;
}

angular
    .module("prefix.orders.resources")
    .factory("ordersRsc",
    ['$resource', ($resource: ng.resource.IResourceService): IOrdersResourceClass => {

        var listAllOrders: ng.resource.IActionDescriptor = {
            method: 'GET',
            url: Common.RestServicesAddresses.Order + '/years',
            isArray: true,
        };
  

项目Common

中的OrderService.ts
module Orders {

export interface IOrdersResourceClass {
    changeOrder(success: () => void, error?: Function): void;
}

angular
    .module("prefix.orders.resources")
    .factory("ordersRsc",
    ['$resource', ($resource: ng.resource.IResourceService): IOrdersResourceClass => {

        var changeOrder: ng.resource.IActionDescriptor = {
            method: 'GET',
            url: Common.RestServicesAddresses.Order,
            isArray: true,
        };
  

来自项目A的OrderService

这个想法是在任何地方使用'ordersRsc',但只在项目A中扩展它。

0 个答案:

没有答案