Как я могу организовать свои папки приложений 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