我想在package.json中设置环境变量。我已经达到了一个点,但我不能实现我理想中的目标:
{
"scripts": {
"start": "ng serve --port $my_port",
"electron:serve": "wait-on tcp:$my_port && npx electron . --reload",
"start:desktop": "npm-run-all -p electron:serve start"
}
}因此,如果我运行以下命令:
npm run start:desktop --port=4201我可以得到我想要的结果,在4201端口上启动服务,并在启动电子之前等待该端口。
我管理的内容如下:{“脚本”:{“启动”:“跨环境外壳ng服务--端口$npm_config_port",”电子:服务“:”跨环境外壳等待tcp:$my_port && npx电子。--重新加载“,”开始:桌面“:”npm-运行-所有-p电子:服务启动“}}
它工作得很好,但是如果我没有任何端口,即
npm run start:desktop我希望有一个默认端口。
有什么想法吗?
谢谢
发布于 2021-06-22 17:34:11
你离答案是如此的接近
例如,您可以设置脚本
"start": "http-server -p $PORT"PORT变量现在由脚本的调用者控制。因此,您可以设置所需的PORT并将其传递给脚本,如下所示:
PORT=3000 npm run start设置默认变量,如下所示:
"server:start": "http-server -p ${PORT:-8080}"最后,如果您使用的是自定义脚本文件,则可以按如下方式访问端口:
if (process.argv.indexOf('-p') && process.argv[process.argv.indexOf('-p') + 1]) {
console.log('port', process.argv[process.argv.indexOf('-p') + 1]);
}https://stackoverflow.com/questions/68080451
复制相似问题