Переменная среды Node.js настроить для Windows и Linux - PullRequest
0 голосов
/ 01 ноября 2019

Я занимаюсь разработкой приложения Node.js в Windows 10. Но я разверну свое приложение на сервере Linux. Я пытаюсь следовать передовым методам разработки приложений Node.js.

Одной из хороших практик является отделение системных переменных, таких как PORT, HOST, debug_logic, от исходного кода и предоставление их в качестве переменных среды при развертывании.

Как добиться следующих функций моего приложения?

  1. Разработать приложение в Windows 10, развернуть на сервере Linux и легко предоставить переменную среды
  2. Хотите отладитьво время разработки приложения и прекращения отладки при развертывании с использованием переменной среды.

Я добавляю следующий скрипт в ключ скриптов package.json.

"start": "set \"PORT=80\" & set \"HOST=localhost\" & node server.js"

Это вроде работает сейчас. Но в будущем у меня будет намного больше переменных среды, и, кроме того, я должен делать это и для Linux.

Я также знаю, что этого можно достичь с помощью файла .env, и попробовал это с помощью модуля dotenv, и модуль тоже не понравился.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Вы можете использовать этот пакет https://www.npmjs.com/package/cross-env для настройки переменных среды, например:

"start": "cross-env \"PORT=80\" & cross-env \"HOST=localhost\" & node server.js"
0 голосов
/ 01 ноября 2019

Здесь происходит контейнеризация. Вы можете использовать docker как отдельную операционную систему от приложения. Вы можете узнать, как установить Docker для Windows из по этой ссылке здесь . Я дам вам знать, с чего начать.

Добавьте следующее Dockerfile в корневой каталог вашего проекта:

FROM node:alpine

RUN npm init -y
RUN npm install express

и добавьте docker-compose.yml в тот же каталог:

version: "3"
services:
  app:
    build: ./
    volumes:
      - /path/to/local/app:/app
    working_dir: /app
    environment:
    - DEBUG=1
    - PORT=3000
    ports:
      - 3000:3000
    command: node server.js

как видите, ключ environment может содержать все переменные, которые вы хотите сохранить, и приложение. Как только вы закончите, запустите в корне приложения: docker-compose up -d и отметьте http://localhost:3000

Docker можно установить и развернуть как в Windows, так и в Linux. Вы можете проверить документацию для более подробной информации.

...