在Nuxt.js SSR项目中,环境变量与配置文件管理是性能优化的关键环节。本文将分享实际项目中的配置优化方案。
环境变量管理
首先,创建.env文件进行环境隔离:
# .env
NUXT_HOST=localhost
NUXT_PORT=3000
API_BASE_URL=https://api.example.com
SENTRY_DSN=your_sentry_dsn
在nuxt.config.js中读取并处理:
export default {
server: {
host: process.env.NUXT_HOST || 'localhost',
port: process.env.NUXT_PORT || 3000
},
publicRuntimeConfig: {
apiUrl: process.env.API_BASE_URL,
sentryDsn: process.env.SENTRY_DSN
}
}
配置文件优化
创建config/目录管理不同环境配置:
// config/production.js
export default {
baseURL: 'https://prod.example.com',
apiTimeout: 5000,
cacheTTL: 3600
}
// config/development.js
export default {
baseURL: 'http://localhost:8000',
apiTimeout: 10000,
cacheTTL: 0
}
在nuxt.config.js中动态加载:
const config = require(`./config/${process.env.NODE_ENV}`)
export default {
publicRuntimeConfig: {
...config
}
}
性能优化实践
通过环境变量控制缓存策略,减少不必要的API请求。在生产环境中启用GZIP压缩和静态资源缓存,确保首屏加载时间控制在2秒以内。
复现步骤
- 创建
.env文件并配置环境变量 - 在
nuxt.config.js中引用环境变量 - 按环境创建不同配置文件
- 部署时确保环境变量正确设置
这种配置方式不仅提升了项目的可维护性,也便于CI/CD流程的自动化部署。

讨论