2016-12-19 5 views
0

Ich habe zwei eckige mit Typoskript-Projekten, und ich möchte ein Modul (Namespace in der Tat) für beide verfügbar sein.Angular JS-Modul teilen zwischen verschiedenen Projekten

In Projekt eins habe ich ein Modul mit einem Controller und einem Service. Ich möchte, dass diese Funktionalität in meinem zweiten Projekt verfügbar ist, ohne den Code zu kopieren.

Ist es so einfach wie das Modul zu exportieren und es als Abhängigkeit von meinem neuen Projekt zu injizieren?

Ich habe diese Lösung versucht, aber es ist mir nicht gelungen. Das ist mein Code:

/// <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); 
} 

Wie kann ich auf diesen Controller in meinem zweiten Projekt zugreifen? Ich versuche dies:

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

Aber TS Linter zeigt einen Fehler, dass das Modul nicht gefunden wird.

Antwort

1

Ja, es ist so einfach. Sie müssen nur Ihr Modul und seine Komponenten (Controller, Dienste usw.) aufrufen und sie als Abhängigkeit in Ihr neues Projekt einfügen.

Verwandte Themen