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

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.envde mon projet.

Bien que$npm_package_namefonctionne 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-à-direconsole.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/à la place. du résultat de l'évaluationhttp://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_URLpour évaluer dynamiquementREACT_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 脚本,通过直接在.envpour "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!