2

J'utilise create-react-app pour mon projet React (éjecté), et j'ai configuré un proxy en package.json. Mais je ne veux pas que mes informations d'identification soient validées dans ce fichier. J'ai donc ajouté à npm en utilisant npm config set my_user xxxx. Je peux aussi les voir dans mon ~/.npmrc.

"proxy": { 
    "/api/v3/": { 
    "target": "https://ourstagingserver.nl/", 
    "changeOrigin": true, 
    "ssl": false, 
    "secure": false, 
    "headers": { 
     "username": "$npm_config_my_user", 
     "password": "$npm_config_my_pass" 
    } 
    }, 

Cela ne fonctionne pas. Le nom d'utilisateur et le mot de passe ne sont pas utilisés dans les demandes de proxy.

Mais si j'ajoute que cela "scripts":

"hello": "echo $npm_config_my_user $npm_config_my_pass 

et exécuter npm run hello, les deux sont ...

écho

Toutes les idées? Est-ce censé fonctionner ou est-ce que je le fais mal?

Thx! Gijs

Répondre

1

je ne figure pas sur l'utilisation de $npm_config_ des variables à cet effet, mais je ne résoudre la question de l'utilisation des variables ENV pour le proxy de créer une réaction-app:

Dans scripts/start.js (ligne 62, ci-dessous const proxySetting = require(paths.appPackageJson).proxy), ajoutez ceci:

proxySetting[Object.keys(proxySetting)[0]].headers.username = process.env.PROXY_USERNAME; 
proxySetting[Object.keys(proxySetting)[0]].headers.password = process.env.PROXY_PASSWORD; 

ou vous en boucle sur les objets pourraient en proxySetting et définissez les informations d'identification pour tous les objets là-dedans si vous avez plusieurs API de proxy pour à:

Object.keys(proxySetting).forEach(function(proxy) { 
    proxySetting[proxy].headers.username = process.env.PROXY_USERNAME; 
    proxySetting[proxy].headers.password = process.env.PROXY_PASSWORD; 
}); 

Note: scripts/start.js est un fichier qui est généré par create-react-app