无法使Next.js使用自定义主机名

时间:2018-12-26 14:39:20

标签: node.js next.js

当我运行npm run dev -- -H 192.168.1.100时遇到此错误

{ Error: listen EADDRNOTAVAIL: address not available 192.168.1.100:3000
    at Server.setupListenHandle [as _listen2] (net.js:1273:19)
    at listenInCluster (net.js:1338:12)
    at doListen (net.js:1471:7)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  code: 'EADDRNOTAVAIL',
  errno: 'EADDRNOTAVAIL',
  syscall: 'listen',
  address: '192.168.1.100',
  port: 3000 }

package.json

{
  "name": "Edel",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "next": "^7.0.2",
    "react": "^16.7.0",
    "react-dom": "^16.7.0"
  }
}

1 个答案:

答案 0 :(得分:0)

在这里拒绝192.168.1.100可能有很多原因,如果不进一步了解您的设置,很难回答。您的路由器很可能为您的计算机分配了一个本地IP,该IP不是192.168.1.100,而是192.168.1。*范围内的任何一个,这使该地址在您的网络上不可用(甚至在您的计算机上也更少)。 / p>

但是,您在“ node.js”而不是“ networking”下询问的事实告诉我,您的真正问题可能是“我如何以某种方式将本地开发的next.js服务器公开到Internet”。长而正确的答案有点复杂(可能涉及“不要在生产中使用此工具”),但是有一个用于开发目的的捷径: -不要试图弄乱next.js的主机名设置,将其保留为默认设置(可能是0.0.0.0或localhost或127.0.0.1,端口为3000) -本地服务器启动后,请尝试ngrok,它将无缝(免费)创建通往本地开发环境的隧道。

在答案的第二部分中我可能完全错了,但是在这种情况下,请多说明一些您要实现的目标。长话短说:您真正想要的是将您的next.js绑定到192.168.x.x地址的可能性很小。 :-)