Files
jiebanke/backend/config/env.js
2025-08-30 14:33:49 +08:00

94 lines
2.4 KiB
JavaScript

// 环境配置
const path = require('path')
require('dotenv').config({ path: path.join(__dirname, '../../.env') })
const config = {
// 开发环境
development: {
port: process.env.PORT || 3000,
mongodb: {
uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/jiebanke_dev',
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
},
jwt: {
secret: process.env.JWT_SECRET || 'dev-jwt-secret-key-2024',
expiresIn: process.env.JWT_EXPIRES_IN || '7d',
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '30d'
},
redis: {
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD || ''
},
upload: {
maxFileSize: 5 * 1024 * 1024, // 5MB
allowedTypes: ['image/jpeg', 'image/png', 'image/gif']
},
cors: {
origin: process.env.CORS_ORIGIN || 'http://localhost:9000',
credentials: true
}
},
// 测试环境
test: {
port: process.env.PORT || 3001,
mongodb: {
uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/jiebanke_test',
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
},
jwt: {
secret: process.env.JWT_SECRET || 'test-jwt-secret-key-2024',
expiresIn: '1h',
refreshExpiresIn: '7d'
},
upload: {
maxFileSize: 2 * 1024 * 1024, // 2MB
allowedTypes: ['image/jpeg', 'image/png']
}
},
// 生产环境
production: {
port: process.env.PORT || 3000,
mongodb: {
uri: process.env.MONGODB_URI,
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
},
jwt: {
secret: process.env.JWT_SECRET,
expiresIn: process.env.JWT_EXPIRES_IN || '1d',
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '7d'
},
redis: {
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD
},
upload: {
maxFileSize: 10 * 1024 * 1024, // 10MB
allowedTypes: ['image/jpeg', 'image/png', 'image/webp']
},
cors: {
origin: process.env.CORS_ORIGIN || 'https://your-domain.com',
credentials: true
}
}
}
// 获取当前环境配置
const getConfig = () => {
const env = process.env.NODE_ENV || 'development'
return config[env]
}
module.exports = getConfig()