Tengo un proyecto de vainilla js. En el archivo app.js, llamo a una API que recupera los valores deseados. Inicialmente llamé a la API a través del cartero, incluí todos los encabezados solo en el cartero y recuperé el código usando la búsqueda de JavaScript. También funciona bien, pero muestra mi token y mi ID de sesión.
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("Authorization", "Token <mytoken>"); myHeaders.append("Cookie", "sessionid= <mysessionid>"); myHeaders.append("User-Agent", "Mozilla/5.0");¿Cómo puedo ocultar estos valores en el archivo .env?
Gracias
Hazlo escribiendo esto en la terminal:
npm install dotenvHazlo escribiendo esto en la terminal:
npm install requirejs var requirejs = require('requirejs'); requirejs.config({ //Pass the top-level main.js/index.js require //function to requirejs so that node modules //are loaded relative to the top-level JS file. nodeRequire: require }); requirejs(['foo', 'bar'], function (foo, bar) { //foo and bar are loaded according to requirejs //config, but if not found, then node's require //is used to load the module. });Lea más sobre esto en https://www.freecodecamp.org/news/how-to-use-environment-variables-in-vanillajs/
Hay una buena manera de resolver esto sin instalar paquetes.
Escribí una respuesta aquí , pero también podría compartirla aquí.
Pude crear una solución de trabajo usando este artículo . Debe modificar los pasos a continuación con sus propias variables, y también puede consultar el artículo para ver el ejemplo base y también obtener más información.
Nota: esta solución es ideal para pequeños proyectos personales en los que la información no es exactamente confidencial, pero simplemente no desea que se muestre de manera tan visible en su código. No lo use para proyectos más grandes que requieran un nivel razonable de medidas de seguridad.
Si su proyecto ya está implementado en Netlify o en una plataforma similar donde puede agregar comandos de compilación/implementación:
buildbuild de esta manera: cd DIRECTORY-FOR-THE-SCRIPT-FILE && echo -e "export const USERNAME="123";\nexport const PASSWORD="password";" > config.jsecho -e "export const USERNAME="123";\nexport const PASSWORD="password"; > config.jsindex.html donde importa el script, configure su etiqueta de script para incluir este atributo type="module" es decir <script src="./index.js" type="module"></script>import {USERNAME, PASSWORD} from "./config.js"Esto resolvió el mío y espero que ayude a alguien más✨.