背景
实际部署中需要区分:测试环境、演示环境、生产环境。不同环境加载不同的配置是个问题。
实现
主要记录了 docker 打包配置的场景
首先要配置
output: 'standalone'
关于依赖安装个分类的问题,除去 ts 类型、eslint、jest单元测试的库,感觉都要安装在运行依赖中。
关于 node 镜像,不要使用 alpine 镜像,优先使用完整镜像进行开发,之后使用 slim (不出问题的话)。少踩坑!
环境变量区分加载
利用 nextjs 启动自动加载 .env 文件的特性,简单粗暴的解决
开发中不创建.env 配置文件
使用对应环境的 .env.test 配置文件
最后在打包时将对应环境的 配置文件写入到 .env 文件中
完美解决!
默认评论
Halo系统提供的评论