我需要为 Nuxt3 配置服务器端口。我试着这样做:
nuxt.config.ts
import { defineNuxtConfig } from 'nuxt3'
export default defineNuxtConfig(
vite: {
server: {
port: 5000,
},
},
})
但是没用。如何在 Nuxt3 中设置服务器端口?
如在这里所说,目前不支持。
改成这样
{
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev --port=5678", // here
"generate": "nuxt generate",
"preview": "nuxt preview"
},
"devDependencies": {
"nuxt": "3.0.0-rc.1"
}
}
以下是更改生产端口的方法:https://github.com/nuxt/framework/discussions/1884#discussioncomment-1631668
如果您使用的是 PM2,请在 ecosystem.config.js 上设置端口
module.exports = {
apps: [
{
name: 'NuxtAppName',
exec_mode: 'cluster',
instances: 'max',
script: './.output/server/index.mjs',
port: 5000
}
]
}
我在所有平台(Windows、Linux、MacOS)中针对
dev
和production
模式的解决方案:
cross-env
以支持跨平台。sudo npm i cross-env -g
package.json
{
"private": true,
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev --port=8001",
"generate": "nuxt generate",
"preview": "cross-env PORT=8001 node .output/server/index.mjs"
},
"devDependencies": {
"nuxt": "3.0.0-rc.4"
},
}
yarn run preview
你可以在你的
ecosystem.config.js
中这样使用:
module.exports = {
apps: [
{
name: 'NuxtApp',
port: 3001,
exec_mode: 'cluster',
instances: '1',
script: './.output/server/index.mjs',
args: 'preview',
},
],
}
这是真的,即使理论上你可以做到
Server: {
port: 'xxxx'
}
或
host: '0'
为了暴露到本地网络,在服务器的定义中你可以看到:
使用环境变量或顶级服务器选项来配置 Nuxt 服务器。
server?: Omit<ServerOptions, 'port' | 'host'>;
所以即使你设置了那些,它们也不会被考虑在内。
像@kissu 说的那样通过将 package.json 更改为类似的东西来解决
"dev": "nuxt dev --host=0 --port=3000"