使用环境variables来进行本地的续集configuration

我正在寻找使用sequelize我的项目的config.json文件中的环境variables。 我使用dotenv在本地设置环境variables。 我的config.json文件看起来像这样

{ "development": { "username": process.env.DB_USER, "password": process.env.DB_PASS, "database": process.env.DB_DATABASE, "host": process.env.DB_HOST, "dialect": "mysql" }, "test": { "username": "root", "password": null, "database": "database_test", "host": "127.0.0.1", "dialect": "mysql" }, "production": { "use_env_variable": "JAWSDB_URL", "dialect": "mysql" } } 

我遇到的问题是我不能在config.json文件中使用variables。 它看起来像生产我可以使用“use_env_varable”键,并使用envvariables为我的连接string。 所以我想我需要一种方法来找出我的本地mysql数据库的组合连接string或使用config.json中的variables的方法。 任何解决scheme

您应该将config.json文件更改为config.js模块,并确保在顶部require dotenv

 require('dotenv').config(); // this is important! module.exports = { "development": { "username": process.env.DB_USERNAME, "password": process.env.DB_PASSWORD, "database": process.env.DB_DATABASE, "host": process.env.DB_HOST, "dialect": "mysql" }, "test": { "username": "root", "password": null, "database": "database_test", "host": "127.0.0.1", "dialect": "mysql" }, "production": { "username": "root", "password": null, "database": "database_production", "host": "127.0.0.1", "dialect": "mysql" } }; 

注:更新您的.sequelizerc文件以匹配新的configuration文件。

 "config": path.resolve('./config', 'config.js'),