У меня есть приложение SPA для размещения моих личных проектов. Макет создается с помощью реакции, но каждый личный проект представляет собой каталог с обычными файлами index.html
, .js
и .css
.
Я не мог понять, как успешно использовать <Link>
для рендеринга обычных .html
страниц по клику, поэтому сейчас я выбираю простой путь: вручную перемещаю каждый каталог в build
, а затем связываюсь с ним с помощью <a href = ""></a>
.
Это работает, но каждый раз, когда я перезапускаю npm run build
, он стирает все каталоги моих проектов. Как я могу предотвратить такое поведение? (Я использую create-react-app
по умолчанию).
тл;др: Как сказать npm run build
не удалять определенные каталоги внутри build
.
«сборка»: «сборка реагирующих скриптов» (и я сохранил react-scripts
по умолчанию из create-react-app
)
Папка сборки должна очищаться при каждой сборке. Это лучшая практика, чтобы ваш проект могли создавать разные разработчики, имея только исходный код.
Для достижения вашей задачи вы должны использовать дополнительный скрипт 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
. Точно так же вы можете создать скрипт для воссоздания всех необходимых каталогов после каждой сборки.
Спасибо, Федор, это именно то, что я искал.
Какое определение
build
в вашемpackage.json
?