Node.js 在我的应用程序代码中使用process.env.NODE_env安全吗?

Node.js 在我的应用程序代码中使用process.env.NODE_env安全吗?,node.js,Node.js,我想根据我是在生产中还是在开发中来改变我的应用程序的行为 我的方法是将process.env.NODE\u env设置为字符串,可以是'production'或'development',并在我的应用程序代码中访问此变量。简单的例子: imgSrc = process.env.NODE_ENV === 'production' ? 'img1.svg' : '/app/img/img2.svg' 这是安全/最佳做法吗?有其他方法吗?这不是天生的不安全,但这是一种不好的做法 理想情况下,您的代码

我想根据我是在生产中还是在开发中来改变我的应用程序的行为

我的方法是将
process.env.NODE\u env
设置为字符串,可以是
'production'
'development'
,并在我的应用程序代码中访问此变量。简单的例子:

imgSrc = process.env.NODE_ENV === 'production' ? 'img1.svg' : '/app/img/img2.svg'

这是安全/最佳做法吗?有其他方法吗?

这不是天生的不安全,但这是一种不好的做法

理想情况下,您的代码不需要知道它运行在什么环境中

一些更好的方法

  • 使用环境变量定义图像的基本路径。设置 它适合于开发和生产。然后,您的代码可能会显示 像这样的

    imgSrc=
    ${process.env.BASE_PATH}img2.svg

  • 尝试确保您的开发和生产路径匹配。这是 一般来说,这是一个更好的方法。两者之间的差异越小 在生产和开发过程中,您越有可能发现bug 在他们投入生产之前

  • “安全”是什么意思?你害怕什么?你可以使用类似的东西,或者看看这样的应用程序配置包,它可以实现特定于环境的配置。我就是这么做的。还没人告诉我这不安全。你也不必担心。我想我听说在应用程序代码中公开这个变量是不好的做法。但是我记不起来了。有没有办法让webpack执行if/else逻辑并在此基础上更改源代码?