Задать вопрос
svisch
@svisch

Почему разная структура проекта при разной установке Vue и библиотек?

Здравствуйте. Совсем запутался с установкой vue. Помогите пожалуйста разобраться.
1. Создаю проект "vue create frontend". Выбираю, допустим ручную установку и отмечаю галочками vuex и vue-router. Как полагается в папке проекта в папке src после установки имеется две папки - router и store, в который есть свои index.js где я и работаю соответственно с роутером и хранилищем.
2. Создаю проект "vue create frontend". В начале установки выбираю установку default. Потом доставляю vuex и vue-router отдельно. Все ставится, но вышеупомянутых папок с этими модулями я не наблюдаю. Зато они появляются в папке node_modules. В чем отличие?
3. Пока экспериментировал заметил разницу в установках по первому сценарию. У меня фронтенд билдится в корневую папку бэкэнда в папку dist. После чего кликая по ссылкам стартовой страницы в адресной строке, например кликая по ссылке about, добавляется dist. Т.е. localhost:8000/dist/about. Раньше, когда собирал фронтенд такого не наблюдалось. После очередной экспериментальной сборки вместо dist в пути уже была #.
Догадываюсь, что дело в настройках. И да, еще почему после установки у меня не появляется файл vue.config.js? так должно быть? приходится его создавать в ручную.
И последнее - в коде странице при всех вариантах установки пояилась надпись - We're sorry but frontend doesn't work properly without JavaScript enabled. Please enable it to continue.
Конкретного ответа на это гугл не дал(
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
В node_modules лежат собранные готовые пакеты, вам туда лезть не надо.

Структура проекта, создаваемая vue-cli соответствует (очевидно) выбранным опциям.
Но эта структура - не что-то сакральное единственно верное. Всё что создал vue-cli вы можете создать вручную. Или создать совершенно другую структуру. Важна лишь логика в коде, папочки не важны.

Так что устанавливая какие-то пакеты вручную вы делаете именно это: устанавливаете пакеты. Т.е. (утрируя) просто кладёте их в node_modules и прописываете их наличие в package.json.
Это никак не влияет на ваш код. Если вы хотите их использовать в коде - вы должны использовать их в коде. Создавать отдельные файлы и папки, или просто подключать в уже имеющихся - ваше дело.
vue-cli делает это за вас, при выборе опций, но это особенность vue-cli, а не неотъемлемое свойство npm пакетов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы