2016-02-17 1 views
0

Я создаю угловое 2 приложение со следующей структурой:Угловое приложение 2 машинописных приложений. Ошибка компиляции при импорте. Как указать путь из корневой папки

app 
|--components 
| |--folder1 
| |--folder2 
| 
|--services 
| |--folder1 
| |--folder2 
.............. 

и есть несколько файлов в каждой папке. Поэтому, когда я импортировать обслуживание компонентов, мне нужно использовать что-то вроде этого

import {SomeInfo, SomeInfoService} from './../../services/some/some-data.service'; 

Это действительный способ импортировать обслуживание и все в порядке. Но путь уродлив. Таким образом, я изменил путь к app/services/some/some-data.service и приложение работает отлично, но у меня есть ошибки компиляции машинопись как

app/components/some/some-detail.component.ts(3,45): error TS2307: Cannot find module 'app/services/some/some-data.service'. 

Кто-нибудь есть какие-либо идеи о том, почему это происходит?

ответ

0

машинописи компилятор думает «приложение/услуги/некоторые/некоторые-data.service» представляет собой путь ниже внешнего модуля «приложение» (в node_modules) и не видит это как путь

import {SomeInfo, SomeInfoService} from './../../services/some/some-data.service'; 

Разве это не уродливо, не так ли?

EDIT

Вы можете создать (скажем) export-services.ts файл (скажем) services, которые будут группировать услуги

export * from './some/some-data.service' 
export * from './other/other-data-service' 
... 

Затем повторно импортировать из этого файла только

import {DataService, OtherService,...} from './../../services/export-services' 

Очевидно, что для этого вы не можете использовать экспорт default и все экспортированные comp onent имена должны быть уникальными

+0

Это не приятно для меня. У меня возникнут проблемы с перемещением файлов или копированием import derective в другой файл. Проблема небольшая, но, может быть, есть более элегантный способ ее решения? – user3272018

+0

См. Мое редактирование выше –

0

Может быть, вы можете найти некоторые идеи здесь:
https://github.com/Microsoft/TypeScript/issues/5039

Есть также эти дискуссии, насколько структура кода идет:
Issue 5 at coding style guidelines
Issue 10 at coding style guidelines

Приветствия,
Raf.
p.s. Я бы включил это в качестве комментария, но для этого мне нужно 50 очков репутации.