如果你想深入使用 @nestjs/config ,试试这样
mkdir 一个名为config的字典,结构
- /config
- config.default.ts
- config.dev.ts
- config.production.ts
- configuration.ts
像这样在config.ENV.ts 中设置个人配置
export default {
// nodemailer config
mailer: {
host: 'xxx',
port: 80,
auth: {
user: 'xxx',
pass: 'xxx',
},
secure: false, // or true using 443
},
// jwt sign secret
jwt: {
secret: process.env.JWT_SECRET || '123456',
}
}
然后将这些文件动态导出到configuration.ts
import { merge } from 'lodash';
import DefaultConfig from './config.default';
export default () => {
let envConfig = {};
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
envConfig = require(`./config.${process.env.NODE_ENV}`).default;
} catch (e) {
}
return merge(DefaultConfig, envConfig);
};
在app.module.ts 中导入configuration.ts
import configuration from './config/Configuration';
@Module({
imports: [
ConfigModule.forRoot({
load: [configuration],
}),
],
})
就是这样