Angular JS模块在不同项目之间共享

时间:2016-12-19 14:56:28

标签: angularjs typescript namespaces

我有两个angular with typescript项目,我想要一个模块(事实上名称空间)可用于两者。

在第一个项目中,我有一个带控制器和服务的模块。我想在第二个项目中使用此功能,而无需复制代码。

是否像导出模块一样简单并将其作为新项目的依赖项注入?

我尝试过这个解决方案,但我还没有成功。这是我的代码:

/// <reference path="../../typings/index.d.ts"/>

namespace Controllers {
"use strict";
    export class ExampleCtrl {

       public static $inject: Array<string> = [];

       private attrs;

       constructor() {
       // Stuff here
       }

       // Public and private methods, here
   }
angular.module("app.exampleCtrl").controller("ExampleCtrl", Controllers.ExampleCtrl);
}

如何在第二个项目中访问此控制器?我试试这个:

import {ExampleCtrl} from "../../directory/ExampleCtrl";

但TS linter显示找不到模块的错误。

1 个答案:

答案 0 :(得分:1)

是的,就这么简单。您只需要调用模块及其组件(控制器,服务等......)并将它们作为依赖项注入新项目中。