MB: Namenskollision

Beitrag lesen

moin,

ich hab n kleines Problem bezüglich Namenscollidierung. Ich will das mit Modulen realisieren.

export module {

  export module Core {
    export class Model {}
    export class View {}
    export class Controller {}
  }

  export module Model {
    export class Foo {}
    export class Bar {}
  }

  export module View {
    export class Foo {}
    export class Bar {}
  }

  export module Controller {
    export class Foo {}
    export class Bar {}
  }
}

Klapppt supi aber ich krigs nicht hin das alles zu seperieren. Hab versuch sowas zu machen

Controller Core

export default class Controller {}

Foo Controller

import Controller from 'controller.core';
export default class Foo extends Controller {}

export.controller.ts Auszug

import Foo from './foo.controller';
import Bar from './bar.controller';
export { Foo, Bar }

imports.ts Beispiel

import Controller from './export.controller';
import View from './export.view';
import Model from './export.model';

// Klappt nicht :/
let cFoo = new Controller.Foo()
let mFoo = new View.Foo()
let vFoo = new Model.Foo()

auserdem müssen die ja aufeinander intern zugreifen. Mit namespace braucht man bekanntlicherweise referenzen. Ich benötige das für n Projekt :/.

vlg MB