首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在package.json中设置变量

在package.json中设置变量
EN

Stack Overflow用户
提问于 2021-06-22 16:51:40
回答 1查看 56关注 0票数 0

我想在package.json中设置环境变量。我已经达到了一个点,但我不能实现我理想中的目标:

代码语言:javascript
复制
    {
       "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"
       }
   }

因此,如果我运行以下命令:

代码语言:javascript
复制
npm run start:desktop --port=4201

我可以得到我想要的结果,在4201端口上启动服务,并在启动电子之前等待该端口。

我管理的内容如下:{“脚本”:{“启动”:“跨环境外壳ng服务--端口$npm_config_port",”电子:服务“:”跨环境外壳等待tcp:$my_port && npx电子。--重新加载“,”开始:桌面“:”npm-运行-所有-p电子:服务启动“}}

它工作得很好,但是如果我没有任何端口,即

代码语言:javascript
复制
npm run start:desktop

我希望有一个默认端口。

有什么想法吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-06-22 17:34:11

你离答案是如此的接近

Kevin Kreuzer May 22, 2019

例如,您可以设置脚本

代码语言:javascript
复制
"start": "http-server -p $PORT"

PORT变量现在由脚本的调用者控制。因此,您可以设置所需的PORT并将其传递给脚本,如下所示:

代码语言:javascript
复制
PORT=3000 npm run start

设置默认变量,如下所示:

代码语言:javascript
复制
"server:start": "http-server -p ${PORT:-8080}"

最后,如果您使用的是自定义脚本文件,则可以按如下方式访问端口:

代码语言:javascript
复制
if (process.argv.indexOf('-p') && process.argv[process.argv.indexOf('-p') + 1]) {
  console.log('port', process.argv[process.argv.indexOf('-p') + 1]);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68080451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档