如何在 next.js 中设置端口

IT技术 javascript reactjs npm port next.js
2021-04-04 01:54:59

一个应用程序在端口 3000 上运行,我想在默认端口的不同端口上运行另一个应用程序。我如何在 React Next.js 中改变它。我的package.js脚本是

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "next",
    "build": "next build",
    "start": "next start"
  },

和启动脚本命令是 npm run dev

6个回答

这对我有用

 "scripts": { 
       "dev": "next -p 8080" 
},
它没有解决。
2021-06-01 01:54:59
如果你dev在你的脚本中使用下一个命令,对我来说,今天这只能通过在下一个命令之后指定,例如next dev -p 8080next start -p 8080prod 模式,而不是像这样的之前:next -p 8080 dev
2021-06-01 01:54:59
很好,谢谢!
2021-06-11 01:54:59
"scripts": {
    "dev": "next dev -p 8080", // for dev 
    "start": "next start -p 8080" // for prod
},
这真的不是;该端口不应该被烘焙到启动脚本中。
2021-05-28 01:54:59

只需要做:

yarn dev -p PORT_YOU_LIKE
对于长期value,请解释为什么此代码解决了 OP 的问题。仅代码答案不受欢迎。解释有助于未来的访问者学习,并将这些知识应用于他们自己代码中的类似问题。他们也更有可能被点赞。考虑编辑以改进您的答案,并保持 SO Answers 的高品质。感谢您的贡献。
2021-05-31 01:54:59
这并没有提供问题的答案。一旦您拥有足够的声誉,您就可以对任何帖子发表评论相反,提供不需要提问者澄清的答案-来自评论
2021-06-04 01:54:59
.env 文件在下一个 js 上不起作用。任何有工作解决方案的人都可以帮助放弃解决方案
2021-06-11 01:54:59
我喜欢这种方法。这对我有用,而不是更改任何其他文件中的 PORT。谢谢你。
2021-06-19 01:54:59

有两种方法可以做到这一点:

在您的package.json文件中,添加-p 8080到 dev/start 脚本以在端口 8080 上启动服务器:

  "scripts": {
    "dev": "next -p 8080",
    "build": "next build",
    "profile-build": "next build --profile",
    "start": "next start -p 8080"
  }

或者,如果您不想在package.json文件中对此进行硬编码,您可以使用 ENV 变量 PORT 启动脚本。

PORT=8080 npm run dev

有关更多信息,请访问vercel 文档

好的。很好奇为什么这是提到使用PORT=变量的唯一答案(这里和我见过的其他地方)没有理由将端口号放入npm脚本中。
2021-05-25 01:54:59
'PORT' is not recognized as an internal or external command 我正面临这个
2021-06-12 01:54:59

默认情况下,应用程序将从 http://localhost:3000 开始。可以使用 -p 更改默认端口,如下所示:

 npx next dev -p 4000

或者使用 PORT 环境变量:

PORT=4000 npx next dev

#注意我使用的是 npx 而不是 npm

您还可以将主机名设置为不同于默认值 0.0.0.0,这对于使应用程序可用于网络上的其他设备非常有用。可以使用 -H 更改默认主机名,如下所示:

 npx next dev -H 192.168.1.2

如果您收到端口已被使用的错误,您可以在 Windows 上解决此问题的方法是

Go to the Task Manager.

Scroll and find a task process named. Node.js: Server-side

End this particular task.