Использование 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.
Читать далее: