Я - нативный разработчик iOS Swift, и я слегка увлекся Node.js
, так что этот процесс немного чужд для меня.
Использование узла, если я хочу скрыть свои переменные, сначала импортирую dotenv module
, require
в моем файле app.js
, установите переменные .env
, добавьте его в файл .gitignore
, а затем используйте модуль dotenv
для доступа к ним:
// on the cli
$ npm install dotenv --save
$ touch .env
$ touch .gitignore
// in the .env file
MY_SECRET_KEY=12345
// finally add the .env file to the .gitignore filel
// in the app.js file
const dotenv = require('dotenv');
dotenv.load();
initializeSomethingWith(process.env.MY_SECRET_KEY)
В Heroku я устанавливаю ключи как секретные, используя:
$ heroku config:set MY_SECRET_KEY=123456789
$ git push heroku master
Я получаю доступ к переменной конфигурации heroku, используя:
process.env.MY_SECRET_KEY
Где моя путаница заключается в том, что когда мне требуется dotenv module
, какможет ли он определить разницу между тем, что находится внутри файла .env, и тем, что я установил для переменных heroku?
app.js file:
const dotenv = require('dotenv');
dotenv.load();
var isThisAHerokuKey = process.env.MY_SECRET_KEY // key is 123456789
var orIsThisADotEnvKey = process.env.MY_SECRET_KEY // key is 12345
initializeSomethingWith(process.env.MY_SECRET_KEY) // which key is this using?
Конечно, здравый смысл сказал бы простоне называйте ключи одинаковыми.