Tenemos una aplicación React creada con create-react-app. Tenemos que incluir una etiqueta de secuencia de comandos externa en la etiqueta principal (en el archivo public/index.html ).
El proveedor del script nos proporciona 2 fragmentos: uno para desarrollo y otro para el entorno de producción.
Por ejemplo, en el entorno de desarrollo, la etiqueta del script es:
<script src="https://myscript.org/scripttemplates/script.js" type="text/javascript" charset="UTF-8" data-domain-script="4a1xxxxx-xxx-xxxx-xxxxx-test"></script> <script type="text/javascript"> function OptanonWrapper() { } </script>Para el entorno de producción, la etiqueta del script es:
<script src="https://myscript.org/scripttemplates/script.js" type="text/javascript" charset="UTF-8" data-domain-script="4a1xxxxx-xxx-xxxx-xxxxx"></script> <script type="text/javascript"> function OptanonWrapper() { } </script> Entonces puede ver que la única diferencia es el atributo data-domain-script entre los 2 entornos. Entonces mi pregunta es, ¿cómo podemos poner el fragmento bueno dependiendo del entorno?
Gracias por adelantado.
<script> const x = env === 'prod' ? prodCDN : otherCDN; document.write("<script type='text/javascript' src='"+ x + "'><\/scr" + "ipt>"); </script>en nuestra aplicación estamos usando esto basado en variables env en nuestro public/index.html :
<% if (process.env.NODE_ENV === 'production') { %> <script src="https://myscript.org/scripttemplates/script.js" type="text/javascript" charset="UTF-8" data-domain-script="4a1xxxxx-xxx-xxxx-xxxxx-test"></script> <% } else { %> <script src="https://myscript.org/scripttemplates/script.js" type="text/javascript" charset="UTF-8" data-domain-script="4a1xxxxx-xxx-xxxx-xxxxx"></script> <% } %>Node.js generará html clásico basado en la variable env