Saya mahu menggunakan alamat IP tempatan semasa yang diberikan dalam projek React Native saya.
Jadi saya mencipta fail skrip Powershell yang mencari alamat IP dan menyimpannya ke dalam pembolehubah sistem $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
Sekarang saya mahu lulus pembolehubah ini dalam fail .env
projek saya.
Walaupun $npm_package_name
berfungsi dengan baik, $npm_package_name
工作正常,但$env:IPADDR
似乎不起作用。输出结果不是评估先前定义的环境变量,而是变量文字文本本身,即 console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/
而不是评估的结果http://192.168.10.4:3000/
nampaknya tidak berfungsi. Hasil output bukanlah penilaian pembolehubah persekitaran yang ditakrifkan sebelum ini, tetapi teks literal pembolehubah itu sendiri, iaitu console.log(REACT_APP_API_URL) --> http://$env:IPADDR:3000/
sebaliknya daripada hasil penilaian http://192.168.10.4:3000/
.
Fail .env
saya dicipta seperti ini.
REACT_APP_API_URL=http://$env:IPADDR:3000/ REACT_APP_NAME=$npm_package_name
Jadi, apa salah saya? Bagaimana untuk menggunakan pembolehubah persekitaran PowerShell $env:IPADDR
动态评估 REACT_APP_API_URL
untuk menilai REACT_APP_API_URL
secara dinamik?
Saya mendapati bahawa tiada cara untuk bekerja dalam fail
.env
文件中本地扩展 Windows 环境变量。相反,我扩展了 PowerShell 脚本,通过直接在.env
untuk "menggantikan" pembolehubah yang diperlukan.Ini adalah fail skriprun.ps1 PowerShell yang terakhir.