我尝试了旧的解决方案,但它不再起作用,然后我尝试阅读 nuxt 3 文档,它实际上并没有更新。
那么如何更改如何更改 Nuxt 3 端口而不像 @kissu 那样更改开发脚本这里
我尝试了旧的解决方案
在/.nuxt.config.ts上
export default defineNuxtConfig(
server: {
port: 8080,
},
})
我得到了http://localhost:3000
编辑:
我找到了使用.env文件的方法
进入您的 .env 文件 ([project_root] /.env)
PORT=8080
Nuxt 3 会自动从你的环境变量中检测到它。
在 Nuxt3 中
nuxt.config.ts
export default defineNuxtConfig({
devServer: {
port: 8000
}
})
更改生产端口后
npm run build
然后运行
NITRO_PORT=4000 node .output/server/index.mjs
正在收听http://[::]:4000
或使用 pm2 Ecosystem.config.js
module.exports = {
apps: [
{
name: 'NuxtAppName',
port: '3000',
exec_mode: 'cluster',
instances: 'max',
script: './.output/server/index.mjs'
}
]
}
在Nuxt3中更改默认端口
开发环境,在package.json中
"dev": "nuxt dev -p 3020",
对于生产环境,在根文件夹中创建 .env 文件(如果不存在)
PORT=3200
当您运行命令时这将起作用
npm run preview
标题:Nuxt3 在 npm run build 后未从 .env 文件读取 PORT
问题: 在 Nuxt3 中运行
npm run build
后,应用程序不会从 .env 文件中获取 PORT 配置。相反,它从系统环境中获取环境变量。
解决方案: 为了确保 Nuxt3 从 .env 文件中读取 PORT 配置,您需要将环境变量导出到系统。具体方法如下:
打开您的终端。
导航到您的 Nuxt3 项目目录。
执行以下命令:
export PORT=4000
如果需要,请将
4000
替换为您所需的端口号。
对于生产: 如果您要将 Nuxt3 应用程序部署到生产环境,您可以使用以下脚本从 .env 文件中导出所有环境变量:
export $(xargs < .env)
此命令从 .env 文件中读取变量并将其导出到系统环境。
此命令应添加到 docker 文件或任何对您有帮助的部署步骤中。
通过执行这些步骤,Nuxt3 将在开发和生产过程中按预期从 .env 文件中读取 PORT 配置。