使用节点 ENV 变量作为默认方法参数

Using a Node ENV Variable as a default method parameter

提问人:nonNumericalFloat 提问时间:9/26/2023 最后编辑:nonNumericalFloat 更新时间:9/26/2023 访问量:54

问:

长话短说; 为什么这样做;

function func() {
  console.log(process.env.myVar)
}

但事实并非如此;

function func(myVar = process.env.myVar) {
  console.log(myVar)
}

上下文:我希望函数 n.2 也会输出 的值。但似乎是.process.env.myVarmyVarundefined

该函数在 Vue.js 代码评估后在 HTML 中调用。

JavaScript 节点.js ecmascript-6 环境变量

评论

1赞 Felix Kling 9/26/2023
要知道为什么这“不起作用”,我们必须知道你期望会发生什么。了解如何评估此代码也很好。
0赞 slebetman 9/26/2023
浏览器没有环境变量
0赞 nonNumericalFloat 9/26/2023
是的,但 Node 在编译代码之前就拥有它们。问题是为什么 Node 不插入变量作为默认值?
1赞 Felix Kling 9/27/2023
“是的,但是 Node 在编译代码之前就拥有它们。问题是为什么 Node 不插入变量作为默认值?替换是编译时的一个步骤。如果你使用 Vite,那么你可以使用 github.com/antfu/vite-plugin-inspect 来查看它在哪一步被替换并深入研究。虽然我发现这不太可能,但也许默认参数以一种或另一种方式被忽略是一个错误。process.env
0赞 nonNumericalFloat 9/27/2023
啊,好的,谢谢。我将结束它,因为这个问题有点偏离主题

答: 暂无答案