Но это ценой сваливания в одну кучу разных сущностей
которым не нужно находиться вместе.
И тянет новую зависимость в проект.
Такая себе лаконичность.
ComponentName.ts
ComponentName/
View.ts
styles.ts
index.ts
ТС пишет стили прамо в компонентах.
<script>
window.__DATA = {
domainNames: <?php echo json_encode($domains_array); ?>
};
</script>
var domainNames = window.__DATA.domainNames;
в том-то и дело, что к коду (логике) что-то большее, чем название состояний (читай css-классов) отношения не имеет и лишь затрудняет чтение кода.
Разделение логики и представления - это опыт индустрии за 20+ лет.
<script>
window.__DATA = {
domainNames: /* тут передается массив в виде строки */
};
</script>
var domainsList = [
'https://domain1.com',
'https://domain2.com'
];
// имена хоста можно и сразу в массиве указать без http:// https:// ,
// если не собираетесь с протоколом использовать
var hostNamesList = domainsList.map(function(url) {
return getDomain(url);
});
function getDomain(url) {
return url.replace('http://','').replace('https://','').split('/')[0];
}
function isExternal(url) {
return hostNamesList.indexOf(getDomain(url)) === -1;
}
if (isExternal($parent.attr('href')) {
// do something
}
Меня интересует только PSD
{
"compilerOptions": {
"lib": ["es6", "es2017", "dom"]
}
}
arr: string
выглядит абсурдно. Я думаю, даже не стоит озвучивать почему.console.log(String([12,13]).includes(1)) // true
console.log(String([12, 13]).indexOf(1)); // 0
Не забывайте, что мы принимаем компонент за самостоятельную сущность. Описывать подобные сущности предпочитаю в отдельном файле, не вынося стили в отдельный файл. Не вижу в этом смысла. Данный подход отлично показал себя в больших командах и, как можно видеть, в других комьюнити(Vue, React Native).
Заметьте я не говорю, что он объективно лучше. Я лишь написал, что вопрос спорный. Так как у каждого подхода есть свои преимущества и недостатки.
Но вот то, что работать с несколькими файлами удобней чем c одним, в случае с компонентной архитектурой - не факт.
Как показывает опыт сообщества - нет.
Мешаться значит препятствовать. Грубое утрирование, вроде кучи.
Абстрагирование. Так же, индексные файлы применяют при вертикальном масштабировании.
Ваши аргумнеты скатываются в банальный холивар из оперы: "styled-components не нужны, лучше использовать мой любимый подход"