Nuxt3 自定义开发环境、生产环境端口

定义开发环境端口

方式一:

# .env
PORT=3001  #http://localhost:3001/
NITRO_PORT=3001  #http://localhost:3001/

方式二:

// nuxt.config.ts
export default defineNuxtConfig({
    devServer: {
        port: 3001,
    },
})

自定义生产环境端口

方式一:

PORT=4030 node .output/server/index.mjs 

建议打包后写个package.json运行nuxt

// package.json
"scripts": {
    "start": "PORT=3001 node .output/server/index.mjs"
}

方式二:

使用PM2启动项目 https://nuxt.com/docs/getting-started/deployment#pm2

// ecosystem.config.cjs
module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      port: '3000',
      exec_mode: 'cluster',
      instances: 'max',
      script: './.output/server/index.mjs'
    }
  ]
}

方式三(推荐):

安装 nitro-port-module

npm i nitro-port-module -D

nuxt.config.ts

// nuxt.config.ts
import nitroPort from "nitro-port-module";

export default defineNuxtConfig({
  nitro: {
    modules: [
      nitroPort({
        port: 4000,
      }),
    ],
  },
});

方法四:

这个方法比较繁琐,不推荐使用

项目打包后找到nitro文件 .output/server/chunks/nitro/nitro.mjs

搜索'3e3' 找到这个代码

const port = destr(process.env.NITRO_PORT || process.env.PORT) || 3e3;

将3e3修改成你需要的端口 例如4000端口

const port = destr(process.env.NITRO_PORT || process.env.PORT) || 4000;