[英]process.env throws Uncaught ReferenceError but process.env.NODE_ENV does not
在我的客户端 javascript 文件中,如果我运行以下命令,我不会收到任何错误:
console.log(process.env.NODE_ENV); // outputs development or production
但是,如果我运行以下命令,则会出现错误:
console.log(process.env) // Uncaught ReferenceError: process is not defined
为什么会这样? 使用 Webpack 5 进行捆绑。
因为您使用的是将process.env.NODE_ENV
替换为另一个值的捆绑器。 对于 Webpack,它是DefinePlugin
做的肮脏工作(并设置 Webpack --mode
选项自动添加插件); 例如 esbuild它是define
。
您生成的捆绑包 JavaScript 根本没有process.env.NODE_ENV
,只有 static 字符串"production"
或"development
”。 但是,只有process.env
不会被替换(除非这样配置),因此您会收到参考错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.