gpt4 book ai didi

javascript - nuxt.js - 无法定义主机和端口

转载 作者:行者123 更新时间:2023-12-02 02:46:26 25 4
gpt4 key购买 nike

nuxt.js 始终默认为 localhost,尽管主机在 nuxt.config.js 中被定义为 frontend.gradez.loc

>

nuxt.config.js的内容:

server: {
host: 'frontend.gradez.loc',
port: 3000
},

package.json的内容:

"config": {
"nuxt": {
"host": "frontend.gradez.loc",
"port": "3000"
}
}

nuxt 作为 dev 启动脚本:

"dev": "nuxt --hostname frontend.gradez.loc --port 3000",

由于一些奇怪的原因,启动开发脚本时它总是默认为:监听:http://localhost:3000/

我尝试在 React 上做同样的事情,我唯一要做的就是创建一个 .env 文件,并在其中添加 host=frontend.gradez.loc 就这样工作了。

最佳答案

要创建服务器,Nuxt 在底层使用 Node 的 http.createServer,然后在该服务器上调用 listen({ host, port })

因此,如果在您的本地计算机上,主机名 frontend.gradez.loc 映射到 127.0.0.1(我认为是这种情况),那么该服务器正在运行IP 127.0.0.1

为了创建您在 Listening on... 中看到的 url,Nuxt 获取底层服务器的 IP,并将其映射回主机名字符串。它将 IP 127.0.0.1 静态映射到字符串 'localhost',因此无论您配置什么 host,如果它映射到 127.0.0.1 那么 Nuxt 将始终将其映射到该 url 中的 localhost 。执行此操作的代码是 here .

报告服务器在 localhost:3000 而不是 frontend.gradez.loc:3000 上运行本身并没有什么不正确的地方。从网络意义上来说,这确实是真的,因为两者最终都指向 127.0.0.1:3000。因此,从开发服务器的 Angular 来看,这里没有任何问题,它按设计工作。

我不确定启动服务器时是否有任何东西自动在浏览器中加载该网址 - 如果是这样,我可以看到从工作流程中与该主机名(例如cookie)耦合的其他事物的 Angular 来看,这是多么不方便、代理服务器等 - 但如果您在浏览器中手动输入 frontend.gradez.loc:3000 ,一切都会正常工作。

关于javascript - nuxt.js - 无法定义主机和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62719805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com