Как запретить npm run build удалять каталоги в сборке

У меня есть приложение SPA для размещения моих личных проектов. Макет создается с помощью реакции, но каждый личный проект представляет собой каталог с обычными файлами index.html, .js и .css.

Я не мог понять, как успешно использовать <Link> для рендеринга обычных .html страниц по клику, поэтому сейчас я выбираю простой путь: вручную перемещаю каждый каталог в build, а затем связываюсь с ним с помощью <a href = ""></a>.

Это работает, но каждый раз, когда я перезапускаю npm run build, он стирает все каталоги моих проектов. Как я могу предотвратить такое поведение? (Я использую create-react-app по умолчанию).

тл;др: Как сказать npm run build не удалять определенные каталоги внутри build.

Какое определение build в вашем package.json?

ceejayoz 29.05.2019 02:27

«сборка»: «сборка реагирующих скриптов» (и я сохранил react-scripts по умолчанию из create-react-app)

Jared Wilber 29.05.2019 02:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
3 245
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Для достижения вашей задачи вы должны использовать дополнительный скрипт npm, который будет автоматически запускаться после сборки. (Вы можете увидеть все возможные этапы, когда скрипты могут быть запущены здесь)

Скрипт postbuild должен копировать дополнительные файлы из папки src в папку build. Таким образом, в каждой сборке у вас будут все необходимые файлы.

Пример

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "postbuild": "copy .\\src\\app.js .\\build\\app.js"
}, 

Последняя строка скопирует app.js из папки src в папку build. Точно так же вы можете создать скрипт для воссоздания всех необходимых каталогов после каждой сборки.

Спасибо, Федор, это именно то, что я искал.

Jared Wilber 29.05.2019 06:50

Другие вопросы по теме