我正在读取ES6中的环境变量。
import dotenv from "dotenv"; dotenv.config()
但是,当我尝试使用
process.env.example
就像我经常在commonJS中做的那样,我收到一条错误消息,指出进程未定义。有人能帮助我吗?
hwamh0ep1#
在他们的文件里写着
import * as dotenv from 'dotenv' dotenv.config()
这里有一个解释;您可以在此处阅读更多信息=〉www.example.comhttps://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import当运行包含导入声明的模块时,首先加载它导入的模块,然后以深度优先遍历依赖关系图的方式执行每个模块主体,从而通过跳过已执行的任何内容来避免循环。
// errorReporter.mjs import { Client } from 'best-error-reporting-service' export default new Client(process.env.API_KEY) // index.mjs import dotenv from 'dotenv' dotenv.config() import errorReporter from './errorReporter.mjs' errorReporter.report(new Error('documented example'))
进程环境API_KEY将为空。相反,上面的代码应编写为..
// errorReporter.mjs import { Client } from 'best-error-reporting-service' export default new Client(process.env.API_KEY) // index.mjs import * as dotenv from 'dotenv' dotenv.config() import errorReporter from './errorReporter.mjs' errorReporter.report(new Error('documented example'))
f0ofjuux2#
Uncaught ReferenceError: process is not defined是您在浏览器控制台中运行process.env.example时得到的消息。您只能在服务器端访问此环境变量,而不能在客户端访问。
Uncaught ReferenceError: process is not defined
6tdlim6h3#
也许吧
import * as dotenv from 'dotenv'
如库文档所示,以防您使用ES6而不是旧的require()方法。另请参阅:https://www.npmjs.com/package/dotenv
require()
3条答案
按热度按时间hwamh0ep1#
在他们的文件里写着
这里有一个解释;您可以在此处阅读更多信息=〉www.example.comhttps://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
当运行包含导入声明的模块时,首先加载它导入的模块,然后以深度优先遍历依赖关系图的方式执行每个模块主体,从而通过跳过已执行的任何内容来避免循环。
进程环境API_KEY将为空。
相反,上面的代码应编写为..
f0ofjuux2#
Uncaught ReferenceError: process is not defined
是您在浏览器控制台中运行process.env.example
时得到的消息。您只能在服务器端访问此环境变量,而不能在客户端访问。6tdlim6h3#
也许吧
如库文档所示,以防您使用ES6而不是旧的
require()
方法。另请参阅:https://www.npmjs.com/package/dotenv