Node.js &引用;dotenv.load()不是一个函数;在尝试运行节点脚本时
我正在尝试复制导入脚本,以便将我的Firebase RTD数据复制到Algolia。当尝试运行脚本时,它失败并说dotenv.load不是一个函数 我的.env文件与index.js文件位于同一目录中。我尝试过移动.env文件,但是没有用。以下是index.js的开始代码:Node.js &引用;dotenv.load()不是一个函数;在尝试运行节点脚本时,node.js,Node.js,我正在尝试复制导入脚本,以便将我的Firebase RTD数据复制到Algolia。当尝试运行脚本时,它失败并说dotenv.load不是一个函数 我的.env文件与index.js文件位于同一目录中。我尝试过移动.env文件,但是没有用。以下是index.js的开始代码: const algoliasearch = require('algoliasearch'); const dotenv = require('dotenv'); const firebase = require('fire
const algoliasearch = require('algoliasearch');
const dotenv = require('dotenv');
const firebase = require('firebase');
//load values from the ./env file in this direcotry into process.env
dotenv.load();
//config firebase
firebase.initializeApp({
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
我能做什么?在需求上使用.config()也没有帮助。基于您应该使用dotenv.config()。要添加到@ahmad的答案中,程序包要求您使用
dotenv.config()
加载您的.env文件。另外,根据路径的位置,您可以将对象{path:/path/传递到/your/file}
。如果您需要nodejs标准库中的path
包来解析路径,以确保获得正确的文件路径,则可能会有所帮助。这可能取决于.env文件的路径以及执行脚本的方式。可能要运行的firebase命令(例如,firebase服务——仅函数
)与在路径透视图中运行node index.js
的命令不同(如果您使用的是云函数)
换句话说,您需要确定主脚本的路径,然后确定.env
文件与此的相对路径,并将此路径设置为dotenv.config()
这对我很有效:
require('dotenv').config({path:'my-app/.env'});
我右键单击.env文件以获取相对路径 你能在项目目录的根目录下运行
树
,这样我们就可以看到你的项目树是什么样子的吗?有一个可以使用。加载,但根据你的要求
它看起来不像你正在使用的。当。看起来我根据的教程已经过时了。谢谢,欢迎光临!请在发布带有代码的答案时,放置代码格式。您可以在post编辑器的工具栏中找到它。