#angular #webpack
#angular #веб-пакет
Вопрос:
Я пытаюсь объявить переменную в какой-нибудь *.ts
файл и импортировать файл в .ts
файл компонента для использования.
url.ts
:
var loginComponentTemplateUrl: string;
if (true) {
loginComponentTemplateUrl = './login.component.html';
} else {
loginComponentTemplateUrl = './app/login/login.component.html';
}
login.component.ts
:
import './url';
@Component({
templateUrl: loginComponentTemplateUrl
})
...
SystemJS
Все работает, но когда я пытаюсь использовать Webpack
сборку, выдается ошибка: loginComponentTemplateUrl variable not defined
.
Мне нужно импортировать этот url.ts
файл в polyfills.ts
or vendor.ts
, но как? насколько я понимаю, vendor.ts/polyfills.ts
файлы работают только с modules
.
Комментарии:
1. поделитесь своим webpack.config
Ответ №1:
Вы должны export
получить loginComponentTemplateUrl
переменную из url.ts
и import
ее в login.component.ts
что-то вроде этого в url.ts
let loginComponentTemplateUrl: string;
if (true) { //will throw linting error
loginComponentTemplateUrl = './login.component.html';
} else {
loginComponentTemplateUrl = './app/login/login.component.html';
}
export default loginComponentTemplateUrl
И, в login.component.ts
import loginComponentTemplateUrl from './url'
@Component({
templateUrl: loginComponentTemplateUrl
})
...
Комментарии:
1. могу ли я каким-то образом в одном файле создать multiple: export default?
2. Вы можете выполнить несколько экспортов, но по умолчанию должен быть только один. Кстати, этот ответ помог? тогда примите этот ответ
3. нет. все еще не работает над сборкой Webpack. Браузер показывает значение переменной, но tmplate не загружается.