繁体   English   中英

process.env 抛出 Uncaught ReferenceError 但 process.env.NODE_ENV 没有

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM