Привет, ребята, я новичок в Svelte, и у меня есть вопрос.
Я сделал небольшое приложение в svelte, которое гладко работает в dev.
Но когда я запускаю npm run build
для производства
вывод в общую папку 3 элементаbundle.css
bundle.js
и bundle.js.map
Нет index.html
Может ли кто-нибудь помочь мне, потому что, как кажется, в общей папке должен быть index.html.
Стартовый шаблон предполагает, что index.html и все остальные статические файлы (favicon, изображения и т. д.) уже находятся в вашей общей папке. Они не получают никакой специальной обработки от скрипта сборки. Если вы хотите копировать дополнительные файлы во время сборки, вы можете использовать для этого специальные плагины.
rollup-plugin-copy-assets может быть вариантом
Это правильный ответ. OP, возможно, предположил, что public следует игнорировать git и что его содержимое генерируется во время сборки. Это не так. Вместо этого public должен быть частью вашего репозитория, index.html, global.css и favicon.png (и все остальное) должны оставаться там, а сборка подпапки — это единственное, что получает .gitignored и создается во время компиляции.
Общая папка должна содержать подпапку с именем «сборка», внутри которой должны находиться файлы пакета. Ваши статические ресурсы, файл index.html и service-worker.js (если он используется) должны находиться в общей папке рядом с папкой сборки.
Снова настройте базовый проект и найдите файл index.html в общей папке, прежде чем писать одну строку кода.
$ npx degit sveltejs/template my-svelte-project
$ cd my-svelte-project
$ npm install
$ npm run dev
Да, структура такая, как вы сказали, но это не та проблема, к которой я обращался. Папка сборки должна содержать, как я полагаю, все необходимые js и статические файлы для производства. Я не знаю, как воссоздание пустого шаблона поможет в моей ситуации.
Рабочий процесс для svelte заключается в том, чтобы сначала запустить «npm run build», а затем скопировать все объекты из общей папки в вашу статическую корзину хостинга. Это включает в себя папку сборки, а также все объекты вне папки сборки, но внутри общей папки. Повторное создание начального проекта было проверкой, чтобы убедиться, что в базовой конфигурации на вашем компьютере нет ошибок.
Итак, я нашел свой ответ. После того, как я создам проект, я вставил в веб-хост все элементы из общей папки (активы, сборка, остальные элементы), и это сработало. Это также была проблема с хостом.
Итак, если я хочу взять все необходимые элементы для производства, я беру элементы в папке сборки и индексный html вне этой папки? Чтобы вставить его в каталог веб-хостинга?