Tengo una especie de pregunta básica sobre el paquete web y reacciono con la que puedo usar ayuda (alrededor de la ofuscación/auglificación del código).
Estoy usando create-react-app para mi aplicación y parece crear una compilación empaquetada para producción (después de ejecutar yarn build ).
Y en ese archivo parece que todo se coloca en un archivo main.JS y un archivo main.CSS Etc. Empujo esto en vivo usando "firebase deployment" (en mi caso). Me gustaría que mi código sea feo y que ningún desarrollador lo pueda leer por completo.
Pero cuando voy a mirar mis aplicaciones en Chrome, no muestra main.JS ni ningún otro archivo de paquete. Simplemente muestra cada archivo individual y exactamente el código que he escrito. ¿Alguna idea de por qué es esto? ¿Por qué no muestra el archivo main.js combinado feo en la pestaña 'fuentes' en Chrome? ¿Tiene esto que ver con el mapa de origen?
Hay una mejor manera de asegurarse de que los mapas de origen no estén incluidos. Cree un archivo .env en la carpeta raíz de su proyecto y agregue GENERATE_SOURCEMAP=false . Obtendrá su compilación sin mapas de origen.
React minimiza el código durante la compilación y genera mapas fuente. JS termina siendo algo ofuscado como un subproducto de la minificación, no por el secreto. De esa forma, los usuarios finales pueden cargar scripts más rápido que si no estuvieran minificados, y usted (y todos los demás) pueden navegar por el código original cuando abren las Herramientas para desarrolladores.
Si echa un vistazo al directorio build/static/js después de la compilación, hay pares de archivos .js y .map . Los archivos JS se cargan con su sitio web y los archivos .map se cargan a pedido, cuando se abren las herramientas para desarrolladores.
Para deshabilitar la generación de mapas fuente, ejecute su compilación con la variable de entorno GENERATE_SOURCEMAP establecida en false .
GENERATE_SOURCEMAP=false npm run buildo
GENERATE_SOURCEMAP=false yarn build o hágalo parte del script de build en package.json
{ … "scripts": { … - "build": "react-scripts build" + "build": "GENERATE_SOURCEMAP=false react-scripts build" } } Si omite la generación del mapa fuente, los archivos .map no terminarán en producción y su código fuente original no estará disponible para nadie (incluido usted).
Simplemente constrúyalo con el parámetro --nomaps :
npm run build --nomaps