我有两个带有 typescript 项目的 angular,我希望一个模块(实际上是命名空间)可用于这两个项目。
在项目一中,我有一个带有 Controller 和服务的模块。我希望在我的第二个项目中可以使用此功能,而无需复制代码。
是否像导出模块并将其作为对我的新项目的依赖项注入(inject)一样简单?
我已经尝试过这个解决方案,但我没有成功。这是我的代码:
/// <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);
}
如何在我的第二个项目中访问这个 Controller ?我试试这个:
import {ExampleCtrl} from "../../directory/ExampleCtrl";
但是 TS linter 显示找不到模块的错误。
最佳答案
是的,就是这么容易。您只需要调用您的模块及其组件( Controller 、服务等...)并将它们作为依赖项注入(inject)到您的新项目中。
关于angularjs - 不同项目之间的Angular JS模块共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225313/