Variables d'environnement Windows PowerShell dans le fichier React-native .env ?
P粉431220279
P粉431220279 2023-09-14 10:00:27
0
1
606

Je souhaite utiliser l'adresse IP locale actuelle donnée dans mon projet React Native.

J'ai donc créé un fichier de script Powershell qui trouve l'adresse IP et l'enregistre dans une variable système $env:IPADDR.

Write-Host "Getting current IP Address"
$env:IPADDR = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | where {$_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null}).IPAddress | Select-Object -First 1
Write-Host "    ---->" $env:IPADDR

Maintenant, je souhaite passer cette variable dans le fichier .env de mon projet.

Bien que $npm_package_name fonctionne bien, $npm_package_name工作正常,但$env:IPADDR似乎不起作用。输出结果不是评估先前定义的环境变量,而是变量文字文本本身,即 console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/ 而不是评估的结果http://192.168.10.4:3000/ ne semble pas fonctionner. Le résultat de sortie n'est pas l'évaluation de la variable d'environnement définie précédemment, mais le texte littéral de la variable lui-même, c'est-à-dire console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/ à la place. du résultat de l'évaluation http://192.168.10.4:3000/.

Mon .envfichier est créé ainsi.

REACT_APP_API_URL=http://$env:IPADDR:3000/
REACT_APP_NAME=$npm_package_name

Alors, qu’est-ce que j’ai fait de mal ? Comment utiliser les variables d'environnement PowerShell $env:IPADDR 动态评估 REACT_APP_API_URL pour évaluer dynamiquement REACT_APP_API_URL ?

P粉431220279
P粉431220279

répondre à tous(1)
P粉976737101

J'ai trouvé qu'il n'y avait aucun moyen de travailler dans le fichier .env 文件中本地扩展 Windows 环境变量。相反,我扩展了 PowerShell 脚本,通过直接在 .env pour "remplacer" les variables requises.

Il s'agit du fichier de script final run.ps1 PowerShell.

#Find local IP addr and save it to $env:IPADDR variable
Write-Host "Getting current IP Address"
$env:IPADDR = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | where {$_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null}).IPAddress | Select-Object -First 1
Write-Host "    ---->" $env:IPADDR

#Replace the value of the key [REACT_APP_API_URL] with the new server ie http://xxx.xxx.xxx.xxx:3000/
$regex = '(?<=REACT_APP_API_URL=)[^=]*'
$file = '.env'
$addr = 'http://' + $env:IPADDR + ':3000/'
(Get-Content $file) -replace $regex, $addr | Set-Content $file

#Start NPM script
npm run start
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!