Как я могу организовать свои папки приложений Angular как пакет Java?

Как организовать структуру папок приложения Angular 2 как пакеты Java?

Рассмотрим следующую схему проекта:

app
 |_model
 |_component
 |_service

Я хотел бы импортировать foo.service.ts от службы к bar.component.ts в компоненте. Но насколько я знаю, импорт Angular 2 поддерживает только относительные пути, такие как /../service/что кажется очень неуклюжим решением.

Есть ли способ ссылаться на папки с абсолютной ванной из корневой папки, как с пакетами Java?

2 ответа

ОБНОВЛЕНИЕ 2016-06-01

с помощью npm install typescript@next Вы уже можете использовать эту функцию

Я предполагаю, что ваше дерево выглядит так:

node_modules
 |_@angular
 |_rxjs
app
 |_model
 |_component
 |_service
package.json
tsconfig.json

Вы должны добавить в свой tsconfig.json следующие строки:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "*": [
        "app/*",
        "node_modules/*"
      ]
    }
  }
}

тогда вы можете ссылаться на ваши модули, как вы делаете с обычными модулями @angular/rxjs

import { MyService } from 'service/MyService';
import { Component } from '@angular/core';
import { Observable } from 'rxjs';

Примечание: для webpack нужны также следующие строки в webpack.config.js

resolve: {
    modulesDirectories: [
        'node_modules',
        'app'
    ]
}

Пока нет, он должен скоро появиться в Typescript 2.0

Посмотрите здесь https://github.com/Microsoft/TypeScript/issues/5039

Другие вопросы по тегам