angularjs - 不同项目之间的Angular JS模块共享

标签 angularjs typescript namespaces

我有两个带有 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/

相关文章:

javascript - 未知提供者 : $stateProviderProvider <- $stateProvider

Angularjs 代码无法在 Chrome 中运行

javascript - 使用 forkJoin 的条件可观察对象

Django - 如何运行表单模板(获取 ' namespace not registered error ' )

Ruby 对 XML 命名空间的支持

javascript - angular.js $resource 作为 'service' 与动态根

typescript - Angular 2自定义表单输入

typescript - 将 InstanceType<T> 与工厂函数一起使用

java - 使用 Jaxb 添加 Xml 命名空间

javascript - 按值获取数组索引