我有两个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显示找不到模块的错误。
答案 0 :(得分:1)
是的,就这么简单。您只需要调用模块及其组件(控制器,服务等......)并将它们作为依赖项注入新项目中。