Reactjs: как скрыть модули узлов и webconfig в инструментах разработки в производственном приложении?

Я создал приложение React.js под управлением npx create-react-app my-app, и я не хочу, чтобы весь проект был доступен в инструментах разработки в рабочем режиме.

Как я могу отключить или скрыть модули узлов и webconfig на вкладке источников (devtools)?

Я проверил другое развернутое приложение для реагирования, которое не отображает статическую папку или весь проект; как я могу добиться того же?

Ниже приведен снимок экрана с консоли вкладки «Источники» моего браузера, на котором показаны некоторые каталоги, которые я хотел бы скрыть для публики;

Reactjs: как скрыть модули узлов и webconfig в инструментах разработки в производственном приложении?

Возможно, вы используете режим разработчика, в производственном режиме файлы не отображаются. Они связаны вместе.

Just code 11.06.2018 06:22

Спасибо за ответ. Как мне перевести его в рабочий режим? Я просто запустил npm run build, развернул папку сборки на сервере.

code_Knight 11.06.2018 06:30

Могу ли я узнать, почему этот вопрос отклонен? Хотя я следил за всей необходимой информацией

code_Knight 13.06.2018 06:37

@Karthik stackoverflow.com/a/51529433/2012163

Abhijeet 26.07.2018 02:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
8
4
5 848
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Когда вы запускаете npm run build, веб-пакет объединяет все ваши файлы js в один основной файл js. Ваши файлы разработки, то есть код реакции в es6, не будут доступны в папке build после производственной сборки.

Спасибо за ответ. Когда я запускаю npm run build, создается папка сборки со статической папкой с папками css и js, где она содержит два файла: один с уменьшенным, а другой с расширением карты. Как вы можете видеть на изображении, прикрепленном к вопросу

code_Knight 11.06.2018 07:09

Да, я это вижу и?

Rohith Murali 11.06.2018 07:10

как я могу продолжить, как скрыть это в инструментах разработки

code_Knight 11.06.2018 07:13

Вы не можете скрыть от пользователей базовые js или стили. Это всегда доступно. Если вас беспокоит информационная безопасность, надежную защиту можно обеспечить только со стороны сервера.

Rohith Murali 11.06.2018 07:15

ни в одном из приложений реагирования на производстве он не показывает такие папки, как config, webpack, node modules. Я предполагаю, что js с расширением карты вызывает все это. потому что его размер составляет около 17 МБ.

code_Knight 11.06.2018 07:22

Да, ты прав. Я пропустил эту часть. модули узла и веб-пакет не должны присутствовать, там должны быть только html, js, css и активы. Можете ли вы убедиться, что у вас нет ни одного из них, кроме index.html, в вашей папке public

Rohith Murali 11.06.2018 07:26
Ответ принят как подходящий

Вы видите свой полный код в devtools из-за файлов с сопоставлением источников. Это отличный способ отладки кода в процессе разработки или даже для некоторых людей в производственном режиме.

Без исходных карт, когда возникает ошибка, вы не можете легко найти, откуда эта ошибка в ваших связанных файлах. Если вы не хотите видеть свой код в таком виде в продакшене, вы можете просто удалить файлы после сборки. Удалите файлы .map из папок static / css и static / js. Таким образом, вы можете скрыть свой разукрупненный исходный код. Но связанные файлы .js и .css всегда будут там. Их невозможно скрыть, так как это интерфейс.

Как сказано в комментариях, если ваша проблема действительно связана с безопасностью, вы не можете сделать это во внешнем интерфейсе. Ваш код всегда будет виден, по крайней мере, он будет уменьшен и утерян, но он будет. Итак, займитесь безопасностью в бэкэнде.

Я только что удалил файлы .map. Теперь они не показывают модули узлов и веб-конфигурацию в devtools. Но я просто хочу знать, почему был сгенерирован .map, поскольку он не требуется.

code_Knight 11.06.2018 07:33

«Не требуется» - спорная фраза. Это сопоставление исходного кода, и это отличный способ отладить ваш код в процессе разработки или даже для некоторых людей в производственном режиме. Без исходных карт, когда возникает ошибка, вы не можете легко найти, откуда эта ошибка в ваших связанных файлах. Если вы не хотите видеть свой код в таком виде в продакшене, вы можете просто удалить файлы после сборки.

devserkan 11.06.2018 07:40
GENERATE_SOURCEMAP=false react-scripts build

это не приведет к созданию файлов исходной карты (.map) в окончательной сборке.

просто беги

npm run build --nomaps

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