我试着跟着教程,上面写着:
有几种方法可以加载凭据。 从环境变量加载, 从磁盘上的JSON文件加载, 关键字如下: USER_ID, USER_KEY ...这意味着如果您正确地设置了环境变量,您就可以 根本不需要在应用程序中管理凭据。
根据一些谷歌搜索,似乎我需要在process.env?我如何以及在哪里设置这些凭证?示例请。
我试着跟着教程,上面写着:
有几种方法可以加载凭据。 从环境变量加载, 从磁盘上的JSON文件加载, 关键字如下: USER_ID, USER_KEY ...这意味着如果您正确地设置了环境变量,您就可以 根本不需要在应用程序中管理凭据。
根据一些谷歌搜索,似乎我需要在process.env?我如何以及在哪里设置这些凭证?示例请。
当前回答
创建一个名为local-env的文件,并用变量填充它
PORT=80
DB_NAME=foo
SOME_URL=example.com
现在这样运行node:
source ./local_env ; node index.js
其他回答
我在设置系统环境变量后得到了未定义。当我把APP_VERSION放在用户环境变量中,然后我可以通过process.env.APP_VERSION显示节点的值
创建一个名为local-env的文件,并用变量填充它
PORT=80
DB_NAME=foo
SOME_URL=example.com
现在这样运行node:
source ./local_env ; node index.js
使用dotenv-webpack让您的生活更轻松。简单地安装它npm install dotenv-webpack——save-dev,然后在你的应用程序的根目录下创建一个。env文件(记得在你推送git之前把它添加到。gitignore中)。打开这个文件,设置一些环境变量,例如:
ENV_VAR_1=1234
ENV_VAR_2=abcd
ENV_VAR_3=1234abcd
现在,在你的webpack配置中添加:
const Dotenv = require('dotenv-webpack');
const webpackConfig = {
node: { global: true, fs: 'empty' }, // Fix: "Uncaught ReferenceError: global is not defined", and "Can't resolve 'fs'".
output: {
libraryTarget: 'umd' // Fix: "Uncaught ReferenceError: exports is not defined".
},
plugins: [new Dotenv()]
};
module.exports = webpackConfig; // Export all custom Webpack configs.
只有const Dotenv = require(' Dotenv -webpack');,插件:[new Dotenv()],当然还有模块。出口= webpackConfig;//导出所有Webpack配置。是必需的。然而,在某些情况下,您可能会得到一些错误。对于这些问题,你也有解决方案,这意味着你可以修复某些错误。
现在,你可以在任何地方使用process.env。ENV_VAR_1 process.env。ENV_VAR_2 process.env。应用程序中的ENV_VAR_3。
对于windows用户来说,这个Stack Overflow问题和顶部答案对于如何通过命令行设置环境变量非常有用
如何在Windows中设置NODE_ENV=production ?
很像其他答案,但没有任何lib或(bash)导出。
我有一些加密的变量,然后我需要在飞行中生成它们。
神奇发生在set -a &&…&& set +a可以是一些内容或文件。
#!/bin/sh
set -a
SOMEVAR_A="abcd"
SOMEVAR_B="efgh"
SOMEVAR_C=123456
set +a
# or
set -a && . ./file && set +a
我有一个docker-entrypoint.sh:
#!/bin/sh
node app/config/set-environment.js
ENVFILE=/tmp/.env
if [[ ! -f "$ENVFILE" ]] ; then
echo "File $ENVFILE is not there, aborting."
exit
fi
# here is where things happen
set -a && . $ENVFILE && set +a
if [ "${NODE_ENV}" = "development" ]; then
npx nodemon app/server.js
else
node app/server.js
fi
exec "$@"
而set-environment.js生成一个(tmp) .env文件