Использование Anaconda для управления виртуальной средой

Введение

При работе с несколькими проектами Node.js я сталкивался с этой проблемой чаще, чем хотелось бы — проект работает на v14+, а на моей машине v18. Анаконда может предоставить удобное решение, поскольку позволяет нам создавать несколько виртуальных сред, которые можно легко переключать.

Об Анаконде

Anaconda — это программное обеспечение для контроля среды, которое обычно используется в AI/ML. Хотя я использовал его для Python в проектах AI/ML, я рад узнать, что он работает и для Node.js. Anaconda можно скачать здесь — эта версия поставляется с полноценным графическим приложением для рабочего стола и может быть более чем необходима только для веб-разработки. Существует гораздо меньшая версия только для CLI, называемая miniconda, и ее можно скачать здесь.

После установки мы можем использовать conda/miniconda через интерфейс командной строки (терминал в Mac или приглашение Miniconda в Windows). Слово (база) должно появиться справа спереди/слева от подсказки.

Работа с окружением

В интерфейсе командной строки анаконды/минконды:

Создать новую виртуальную среду

conda create -n node18 python=3.9

Это создаст среду с именем node18 с установленным python v3.9.

Проверить текущий список всех сред

conda env list

Среды base и node18 должны быть напечатаны со звездочкой (*) рядом с base, указывающей, что это текущая активная среда.

Сменить окружение

conda activate node18

Это переключает текущую активную среду на вновь созданный node18. Это легко проверить, взглянув на начало подсказки. Он должен был измениться с (base) ранее на (node18).

Установка node.js

В новой среде node18:

Установите node.js

conda config --add channels conda-forge
conda install nodejs

Проверить установку

node --version
npm --version

Создание веб-страницы Hello World с помощью Express

Теперь, когда среда правильно настроена, мы можем попробовать ее, создав минимальный проект Hello World с помощью Express.

Предполагая, что новая папка была создана, например. Документы/HelloWorld:

Создайте файл app.js

import express from 'express';
var app = express();
app.use(express.static('public'));
app.listen(3000, () => {
    console.log("Server running on port 3000");
});
app.get("/", (req, res) => {
    res.send('Hello World!')
});

Инициализировать проект node.js

Перейдите в папку (Documents/HelloWorld) через интерфейс командной строки и введите:

npm init

Нажмите Enter, чтобы пройти все этапы, и введите yes в последнем запросе. Будет создан файл package.json.

Дополнительные настройки

Если мы попытаемся запустить проект сейчас, появится сообщение об ошибке «Невозможно использовать оператор импорта вне модуля». (Это потому, что я использую import вместо require, но это для другой статьи.) Откройте файл package.json и добавьте следующая строка:

"type": "module"

Теперь весь файл package.json должен выглядеть примерно так:

{
  "name": "helloworld",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "type": "module"
}

Установить зависимости

Проекту требуется модуль Express для отображения веб-страницы, и мы можем установить его с помощью диспетчера пакетов Node, npm.

npm install express

Запустить программу

node app.js   

Чтобы проверить это, откройте localhost:3000 в своем браузере.

На экране должно быть напечатано Hello World!.

Остановка программы

Вы можете остановить приложение, нажав Ctrl+C.

Читать далее:

Загрузить файлы HTML в свой Node.js