我正在构建一个节点 CLI 应用程序,它使用 dontenv 加载一些环境变量以连接到 mysql 数据库。
我用了
npm link
命令链接到全局并从任何地方运行 CLI 应用程序。我面临的问题是 .env 文件只有在我从 .env 所在的文件夹运行时才会加载。
然后如果从不同的文件夹运行相同的命令......我得到了错误,这个错误是因为 dontenv 没有正确加载 .env 文件
顺便说一句,这就是我阅读 .env 的方式,没什么特别的(据我所知)
在config.js中
require('dotenv').config();
let config = {};
config.MYSQL_HOST = process.env.MYSQL_HOST
config.MYSQL_DB_PROFILES = process.env.MYSQL_DB_PROFILES
config.MYSQL_USER = process.env.MYSQL_USER
config.MYSQL_PASS = process.env.MYSQL_PASS
config.AWS_PROFILE = process.env.AWS_PROFILE
module.exports = config;
然后我有一个 index.js(package.json 中的主要入口点),它调用我拥有的 process.js
const config = require('./config');
...
async function getProfileData(clientdb) {
let conn = mysql.createConnection({
host: config.MYSQL_HOST,
user: config.MYSQL_USER,
password: config.MYSQL_PASS,
database: config.MYSQL_DB_PROFILES
});
conn.connect();
这就是我的问题:((任何帮助将不胜感激)