在我的 package.json
文件中,我有一个如下定义的脚本:
"scripts": {
"start": "webpack-dev-server --open --config webpack.dev.js"
}
我想向它传递我的主机名,这是一个名为 HOSTNAME
的 Windows 环境变量。我尝试了以下解决方案,但似乎都不起作用:
"start": "webpack-dev-server --open --config webpack.dev.js --host HOSTNAME"
和
"start": "webpack-dev-server --open --config webpack.dev.js --host %HOSTNAME%"
我错过了什么?
最佳答案
Windows 上正确的语法是 %envvariable%
。它对您不起作用,因为 hostname
是一个输出主机名的应用程序 (hostname.exe),而不是环境变量。一种解决方案是使用变量 COMPUTERNAME
代替。
"start": "webpack-dev-server --open --config webpack.dev.js --host %COMPUTERNAME%"
根据documentation主机名工具
Displays the host name portion of the full computer name of the computer.
所以 COMPUTERNAME
可能无法完全显示您想要的内容,但我会尝试一下。有一些有关 COMPUTERNAME
here 的信息.
我尝试了一些巧妙的技巧,例如将 hostname.exe 的输出存储在新的环境变量中:
"start": "hostname > host.txt && set /P HOST= < host.txt && webpack-dev-server --open --config webpack.dev.js --host %HOST%"
"start": "for /f %i in ('hostname') do set HOST=%i && webpack-dev-server --open --config webpack.dev.js --host %HOST%"
我无法让它工作。
关于node.js - 如何在 Windows 上的 npm 脚本中使用环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47578304/