Angular2 относительные пути для templateUrl и styleUrls?
Во время поиска я нашел что-то под названием moduleId
, чтобы установить относительные пути к шаблонам и файлам CSS, но я не знаю точно, как использовать moduleId
в наших компонентах angular2?
На самом деле проблема заключается в моей структуре папок. Я загружаю все .js файлы из папки dist
, тогда как мои файлы вида (.html) находятся в папке src
. Поэтому, когда я использую moduleId: module.id
, как этот angular взял путь из папки dist
вместо папки src.
Итак, кто-нибудь здесь помогает мне сказать, что Как установить собственный moduleId для моего компонента angualr2?
Моя структура папок как это.
App
/\
/ \
(.js + .map files)Dist Src(.ts + .html + .css files)
- Папка Dist содержит все файлы .map и .js.
- Папка src содержит все файлы .ts,.HTML и .css.
Фактическое кодирование (работа) -
@Component({
selector: 'class-timing',
templateUrl: 'src/components/TimeTable/class-timing/class-timing.html',
styleUrls: ['src/app.css']
})
Модифицированное кодирование (Не работает из-за неправильного пути) -
@Component({
selector: 'class-timing',
templateUrl: 'class-timing.html',
moduleId: module.id,
styleUrls: ['src/app.css']
})
Ссылаясь на этот учебник
http://schwarty.com/2015/12/22/angular2-relative-paths-for-templateurl-and-styleurls/
Ответы
Ответ 1
Устранила мою проблему, изменив путь (от src
до dist
) импорта файла во время выполнения следующим образом: -
moduleId: module.id.replace("/dist/", "/src/")
Таким образом вы можете изменить каталог путей идентификатора модуля.
благодаря @Nicolai для этого удивительного комментария
PS: - Проводка в качестве ответа может помочь кому-то
Ответ 2
У меня также были некоторые вопросы о том, что сработало и не работает для путей TemplateUrl. Я обнаружил, что в моем тестировании было верно следующее:
templateUrl: имя папки/имя файла не работает
templateUrl: '/имя папки/имя файла' не работает
templateUrl: './имя_папки/имя файла' DID work
чтобы вы могли попробовать.