nuxt.js - 在 Nuxt 配置中设置自定义主机不起作用
问题描述
在我的内部nuxt.config.js
,当我更改端口时,会考虑它,但不考虑主机:
export default {
server: {
port: 8002, // default: 3000
host: 'localhost2 // default: localhost
}
// other configs
}
在我的/etc/hosts
,我有:
127.0.0.1 localhost2
$ npm run dev
...
ℹ Listening on: http://localhost:8002/
...
我的配置有什么问题?
解决方案
这似乎只发生在@nuxt/cli
(从 v2.12.2 开始)。当主机名解析为 时127.0.0.1
,@nuxt/server
会自动将其覆盖为localhost
。这可能是一个错误,我建议在他们的GitHub 问题中报告它。
一种解决方法是使用dev
从 生成的 NPM 脚本create-nuxt-app
,它不会出现上述问题:
"scripts": {
"dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
"start": "cross-env NODE_ENV=production node server/index.js",
}
上面的命令假设存在以下文件:
// server/index.js
const express = require('express')
const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const app = express()
// Import and Set Nuxt.js options
let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')
async function start() {
// Init Nuxt.js
const nuxt = new Nuxt(config)
const {
host = process.env.HOST || '127.0.0.1',
port = process.env.PORT || 3000
} = nuxt.options.server
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
await builder.build()
}
// Give nuxt middleware to express
app.use(nuxt.render)
// Listen the server
app.listen(port, host)
consola.ready({
message: `Server listening on http://${host}:${port}`,
badge: true
})
}
start()
推荐阅读
- python - 游戏 AI 一方面很强大,另一方面在井字游戏中变得愚蠢
- c# - 我的脚本中缺少的括号在哪里?
- python - 使用 for 和 if 循环创建嵌套字典
- python - Pygame,用新玩家x,y改变场景使玩家不动,因为它处于循环中,我该如何解决这个问题?
- html - 使用边框使文本透明
- javascript - JS clearRect 没有清除整个画布
- ios - 如何在ios swift中打开消息应用程序但不使用发送消息视图
- javascript - SyntaxError: Unexpected token '{' Discord.js
- go - db.QueryRow 步骤发生错误
- python - Pyomo 创建可变时间索引