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

标签 javascript webpack nuxt.js

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/

相关文章:

javascript - 我如何使用 jquery 将隐藏元素从 0 不透明度滑动到 1

javascript - 谷歌地图中的点击和鼠标悬停事件相互抵消

javascript - 如何使用 webpack 3 缩小 css 样式

javascript - Nuxt.js:未定义 ReferenceError baseURL

vuex - 来自 VueX 和 NuxtJS 的持久化状态

nuxt.js - Nuxt 选择哪种渲染模式? SPA、SSR、SSG?

javascript - 如何为您的网站制作模糊的延迟图像加载?

javascript - ES2015模块导入导出语法错误

reactjs - 导出 Jest 和 ES6 未采用的默认路径

angular - ionic 服务突然中止