Ich möchte die aktuell angegebene lokale IP-Adresse in meinem React Native-Projekt verwenden.
Also habe ich eine Powershell-Skriptdatei erstellt, die die IP-Adresse findet und in einer Systemvariablen speichert $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
Jetzt möchte ich diese Variable in der .env
-Datei meines Projekts übergeben.
Während $npm_package_name
gut funktioniert, $npm_package_name
工作正常,但$env:IPADDR
似乎不起作用。输出结果不是评估先前定义的环境变量,而是变量文字文本本身,即 console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/
而不是评估的结果http://192.168.10.4:3000/
scheint es nicht zu funktionieren. Das Ausgabeergebnis ist nicht die Auswertung der zuvor definierten Umgebungsvariablen, sondern der Variablenliteraltext selbst, d. h. stattdessen console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/
des Ergebnisses der Auswertung http://192.168.10.4:3000/
.
Meine .env
-Datei wird so erstellt.
REACT_APP_API_URL=http://$env:IPADDR:3000/ REACT_APP_NAME=$npm_package_name
Also, was habe ich falsch gemacht? Wie verwende ich PowerShell-Umgebungsvariablen $env:IPADDR
动态评估 REACT_APP_API_URL
, um REACT_APP_API_URL
dynamisch auszuwerten?
我发现无法在
.env
文件中本地扩展 Windows 环境变量。相反,我扩展了 PowerShell 脚本,通过直接在.env
文件中工作来“替换”所需的变量。这是最终的run.ps1 PowerShell 脚本文件。