AlibekKulseitov
@AlibekKulseitov
Люблю верстать и писать музыку

Как грамотно раскидывать структуру файлов на vue cli или vite?

Предисловие:
Всем привет! Я верстальщик, верстаю уже 9 лет. За всё это время несколько раз пытался изучить js, абсолютно не получалось, интереса было ноль. Я начал больше углубляться в html/css, доступность, семантику и прочее. За всё время работы, я сделал для себя свой мини-фреймворк на базе сборщика TARS, в котором грамотно раскидывал всё по папкам и по файлам. Написал свыше 100 компонентов, которые можно из проекта в проект переиспользовать. 2-3 года назад начал дополнительно увлекаться ux/ui дизайном. Сейчас работаю как ux/ui дизайнер + верстальщик. Мы с другом back-end берем проекты на аутсорс и закрываем под ключ. Выполнили множество крупных проектов. Со временем понял что нужно всё таки чтобы стек технологии был фронт + back. А в нашем случае это vue + laravel. Так вот, я начал изучать vue и дается очень сложно. Особенно мне не даёт покоя как правильно раскидать файлы и вьюшки. Так как в VUE компонентный подход и как я понял это поломает всю мою наработанную структуру. Ниже я задам список вопросов, которые я не могу никак нагуглить, так как все уроки и примеры не особо парятся над этим.

Вопросы:
1) В TARS есть папка components, где создаешь папки с названиями компонентов типа button, checkbox, nav, header, footer и тд. Так же тут я себе создал помимо этого всего разные компоненты карточек, текстовых стилей, стилизованной загрузки файлов, модалок, дропдаунов и тд. Я думаю вы поняли о чем идет речь. Тут же я создаю уникальные компоненты для каких-то страниц типа about, team, contacts, servicies и тд. А теперь зная что во вью компонентный подход как правильно это использовать и раскидывать в сборщиках vue?
6313a4adb3c0a065437236.png

2) Есть папка scss. В нем как вы поняли хранятся все стили. Есть main.scss вид которого:
/*!
 * Quasarify v1.0.0
 * Copyright 2022 Kulseitov.kz
 * Licensed under MIT Open Source
 */

// Configuration
@import "functions";
@import 'variables';
@import 'mixins';
@import "utilities";

// Layout
@import 'root';
@import 'normalize';
@import 'fonts';
@import 'base';
@import "containers";
@import "grid";

// Plugins
@import 'plugins';
@import 'plugins-reset';

// Components
@import 'components';

// Helpers
@import 'helpers';

// Utilities
@import "utilities/api";


Будет ли такой подход работать во vue? То есть что я имею ввиду. Я видел исходники некоторых проектов, они там внутрь каждого компонента вверху пишут импорт только конкретного компонента. На странице используются кнопки, модалки и карточки то вверху надо подключать import button, card, modal. Так это работает? Во Вью компонент - это не button, card и тд это именно скрипты? Как тогда в папке разделять/называть папку components - которая в привычным смысле значит компонент и компоненты vue?

3) Обычно я все плагины, библиотеки раскидываю по определенным папкам. То есть js файлы библиотеки в папку js/libraryName, css/scss файлы в папку scss/plugins/pluginName. Js файлы склеиваются автоматом а scss я подключаю вручную в файле plugins.scss. Так же создаю plugins-reset.scss. Почему так? Потому что часто я переписываю/переопределяю некоторые стили библиотеки в переменных под себя. А в VUE, React фрейморвках всё тянут из node_modules. Как быть в таком случае, как держать постоянно у себя эти кастомизированные либы?

Вопросов ещё куча, но это базовые) Возможно всё гораздо проще, просто я не видел нормального проекта с хорошей структурой.
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы