node.js-环境变量的基本概念是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了node.js-环境变量的基本概念是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2370字,纯文字阅读大概需要4分钟。
内容图文
祝大家晚上好.我之前在Node.js应用程序中使用过Environment Envirables,但是我觉得我还不了解底层概念.
它不是(在这种情况下)让我能够设置环境变量的Node,对吗?是Linux吗?这个概念在整个操作系统中都存在吗?环境变量有作用域吗?我可以在任何地方使用它们吗?模式总是一样吗?它们是否已写入运行的应用程序中,还是某些应用程序(例如节点)能够从内部主动访问它们?
伍尔爱掌握基本概念.
解决方法:
环境变量是操作系统(例如Linux)提供的功能.
您可以使用以下命令在终端或外壳脚本中进行设置:
name=value
或在Node中使用:
process.env.name = value;
您可以使用以下命令在Shell中访问它们:
echo $name
或在Node中使用:
console.log(process.env.name);
环境变量的范围是定义它们时的过程及其执行的子过程.
例如,编写一个名为envtest.js的Node程序:
console.log('Node program:', process.env.test);
process.env.test = 'new value';
console.log('Node program:', process.env.test);
还有一个名为envtest1.sh的shell脚本:
test=value
echo "Shell script: $test"
node envtest.js
echo "Shell script: $test"
运行sh envtest1.sh将打印:
Shell script: value
Node program: undefined
Node program: new value
Shell script: value
如您所见,Node程序没有得到值,因为它没有被导出.它可以设置值并使用新值,但是在shell脚本中不会更改它.
现在,编写一个不同的shell脚本:
test=value
export test
echo "Shell script: $test"
node envtest.js
echo "Shell script: $test"
这次运行sh envtest2.sh将显示:
Shell script: value
Node program: value
Node program: new value
Shell script: value
这意味着Node程序获得了该值,因为它是这次导出的,它仍然可以更改它并使用新值,但是它可以在自己的副本上工作,在调用此Node程序的原始Shell脚本中不会更改它.
代替:
test=value
export test
你可以写:
export test=value
作为简写.
一个更复杂的示例,编写envtest3.sh:
export test=value
echo "Shell script: $test"
node envtest.js
echo "Shell script: $test"
test=value2 node envtest.js
echo "Shell script: $test"
这次它将打印:
Shell script: value
Node program: value
Node program: new value
Shell script: value
Node program: value2
Node program: new value
Shell script: value
这表明运行test = value2节点envtest.js将test变量的值设置为value2,但仅对此Node程序进行了调用-其余shell脚本中的值仍然是以前的值.
这是环境变量的3种作用域-通常不会导出Shell脚本中的变量,并且您运行的程序看不到它.导出后,您运行的程序可以看到它并可以对其进行修改,但它们可以在自己的副本上工作,并且在Shell脚本中不会更改.
当您运行name = value命令时,将仅为该命令设置环境变量,但旧值将保留在脚本的其余部分中.
这些是环境变量的基础知识,以及如何在Node中使用它们.
内容总结
以上是互联网集市为您收集整理的node.js-环境变量的基本概念是什么?全部内容,希望文章能够帮你解决node.js-环境变量的基本概念是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。