#javascript #socket.io
Вопрос:
При быстрой разработке/итерации я переворачиваю комментарий, чтобы включить localhost. При развертывании или тестировании от начала до конца я переворачиваю комментарий, чтобы использовать herokuapp. Кажется, что привередливо переворачивать вещи в последний момент перед отправкой, и я уже дважды забыл и перенес неправильную вещь в main (heroku развертывается вне main).
const socket = io('https://ramrod-garden-11633.herokuapp.com/'); // Set up on Heroku
// const socket = io('http://localhost:3000');
Существует ли стандартный способ заставить его работать автоматически?
Одним из способов была бы переменная среды на Heroku и проверка ее существования здесь (я думаю,~~, новичок в интерфейсе и не уверен, является ли переменная среды концепцией для интерфейса js). Поскольку я новичок, и это мое первое приложение, мне интересно, есть ли здесь лучшая практика или стандартный способ, который я пропустил.
Комментарии:
1. Привет, что мне нравится делать, так это иметь одну линию как для разработки, так и для производства при подключении. Я использую location.protocol для определения http и https, местоположения. имя хоста для имени хоста, т. е. localhost против домена, и location.port для порта для подключения. В конечном счете это заканчивается тем, что
${window.location.protocol}//${window.location.hostname}:${window.location.port}
2. Я нашел довольно отличное решение, следуя вместе с youtube.com/watch?v=SBvmnHTQIPY . Настройте сценарии prod/dev/etc. в файле package.json, а затем используйте эту логику в коде с помощью
process.env.NODE_ENV