Как предотвратить запуск npm run build при удалении каталогов в сборке - PullRequest
0 голосов
/ 29 мая 2019

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

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

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

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

1 Ответ

2 голосов
/ 29 мая 2019

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

Чтобы выполнить свою задачу, вы должны использовать дополнительный скрипт 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. Таким же образом вы можете создать скрипт для воссоздания всех необходимых каталогов после каждой сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...