Generating commit message...
This commit is contained in:
94
backend/config/env.js
Normal file
94
backend/config/env.js
Normal file
@@ -0,0 +1,94 @@
|
||||
// 环境配置
|
||||
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()
|
||||
Reference in New Issue
Block a user