【问题标题】:Make npm start script run ng serve in a particular port使 npm start 脚本在特定端口运行 ng 服务
【发布时间】:2018-04-20 07:24:09
【问题描述】:

我的package.json 中有一些脚本,我需要知道如何让start 脚本正确接受angular-cli 的-port 参数。

  "scripts": {
    "ng": "ng",
    "start": "ng serve  --proxy-config proxy.conf.json",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

我们需要这个,因为我们想同时运行我们软件的多个实例。目前,如果我有一个项目在默认端口 4200 上运行,并尝试在第二个终端窗口中运行 npm start -port 4300,我得到,“端口 4200 已在使用中。使用'--port' 指定不同的端口。 "

如何让我的构建在特定端口中运行?我怎样才能做到这一点,以便我可以从命令行将端口号传递给 npm start 脚本?

【问题讨论】:

  • 也许这是一件小事,但-port--port 是两件不同的事情。检查拼写错误。
  • 你在使用 angular-cli
  • 是的,我正在使用 angular-cli。 @tadman,我已经尝试过 --port 和 -port。
  • 您可能需要将--port 放在此处的start 部分中,这样npm start 不会像您预期的那样通过。
  • 好的,那会是什么样子?

标签: node.js angular npm


【解决方案1】:

如果添加“--”则参数传递:

npm start -- --port 4301

【讨论】:

  • 应该注意,这只是解决方案的一部分,并且是对 Sajeetharan 的回答的补充。 @Sajeetharan 的回答也值得点赞。
【解决方案2】:

改成,

"scripts": {
    "ng": "ng",
    "start": "ng serve --port 4301",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

【讨论】:

  • 好的,很简单。但是我将如何做到这一点,以便我可以从命令行将端口号传递到 npm start 脚本中?
  • 试试这个 ng serve --host 0.0.0.0 --port 4301
  • 专门寻找说 npm start -port XXXX 的能力,以使用我在命令行中传递的任何端口。
【解决方案3】:

你可以试试这个命令:

npm run start -- -p 4300

【讨论】:

    猜你喜欢
    • 2014-09-05
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2021-12-27
    • 2015-08-15
    • 1970-01-01
    相关资源
    最近更新 更多