Как создать проект node js
Перейти к содержимому

Как создать проект node js

  • автор:

Не понимаю, как запустить проект на node js

введите сюда описание изображения

Я фрилансер, выполняю заказ. Проект писал не я, от меня требуется только написать авторизацию/регистрацию и мелкие фишки для сайта, работа на php. Я уже закончил работу, и хочу пофиксить баги, но не знаю как запустить проект т.к никогда не работал с файлами Phar, Composer, PHPUnit, Webpack. Заранее огромное спасибо.

Отслеживать
задан 19 дек 2019 в 20:57
GeorgeJornd GeorgeJornd
69 1 1 серебряный знак 6 6 бронзовых знаков

Почитайте как работать с node.js и менеджером пакетов npm. Обычно проект запускается через команды npm install для предварительной загрузки недостающих на машине пакетов и непостредственно npm start .

19 дек 2019 в 21:04

Вам стоит отказаться от заказа, «никогда не работал с файлами Phar, Composer, PHPUnit, Webpack» и вообще создание этого вопроса однозначно говорят о том, что грамотно реализовать «авторизацию/регистрацию» у вас не выйдет со всеми вытекающими.

19 дек 2019 в 21:16

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Поставь nodejs и запускай (для dev-режима)

npm start 

Если не получится, нужна секция scripts из package.json .

Отслеживать
ответ дан 19 дек 2019 в 21:02
123k 24 24 золотых знака 127 127 серебряных знаков 305 305 бронзовых знаков

Я возможно все сделал правильно, но не знаю где его открывать в браузере. 127.0.0.1: и localhost пробовал. Проект лежит в папке htdocs, xampp

19 дек 2019 в 21:52

Вам нужно знать порт, по которому работает express сервер обрабатывающий http запросы. Обычно в файле app.js внизу что то типа.

app.listen(3000, () => console.log(‘server is working’));

Значит сервер обрабатывает запрос к 3000 порту, и адрес будет http://localhost:3000

Естественно при этом должен быть запущен node, команда npm start из каталога с проектом, или команда node app.js из каталога проекта, или ng serve. Смотря что у вас указанно в теге scripts файлы package.json

Создание проекта Node.js [6 из 26]

Демонстрация: быстрая инициализация нового проекта Node.js с помощью интерфейса командной строки NPM.

Полный курс «Intro to Node.js» в Microsoft Learn: https://aka.ms/LearnNode.js

Просмотрите всю серию: https://aka.ms/NodeBeginnerSeries

Дополнительные ресурсы:

— Visual Studio Code: https://code.visualstudio.com

— Серия начинающих в JavaScript: https://aka.ms/JSBeginnerSeries

#NodeJS #Tutorial #Beginners #JavaScript #Express

Демонстрация: быстрая инициализация нового проекта Node.js с помощью интерфейса командной строки NPM.

Полный курс «Intro to Node.js» в Microsoft Learn: https://aka.ms/LearnNode.js

Просмотрите всю серию: https://aka.ms/NodeBeginnerSeries

Дополнительные ресурсы:

Введение в Node JS

Node.js представляет среду выполнения кода на JavaScript, которая построена на основе движка JavaScript Chrome V8, который позволяет транслировать вызовы на языке JavaScript в машинный код. Node.js прежде всего предназначен для создания серверных приложений на языке JavaScript. Хотя также существуют проекты по написанию десктопных приложений (Electron) и даже по созданию кода для микроконтроллеров. Но прежде всего мы говорим о Node.js, как о платформе для создания веб-приложений.

Особенностью Node.js является то, что Node.js использует один (основной) поток, который получает все запросы и управляет ими через очередь запросов (таким образом, Node.js является однопоточным сервером). Внутри этого потока выполняется так называемый цикл событий (event loop), который представляет собой цикл, который непрерывно проверяет запросы из очереди событий и обрабатывает события ввода и вывода.

Если пользователь отправляет запрос на сервер Node.js, в цикле событий выполняется проверка, чтобы определить, требует ли следующий запрос блокирующей операции ввода или вывода (например, обращение к базе данных или файловой системе). Если нет, то запрос обрабатывается напрямую, и пользователю отправляется результат обработки.

Если же запрос требует блокирующей операции ввода/вывода, для выполнения этой операции запускается один из нескольких внутренних обработчиков Node.js (потоков). В обработчики передается функция обратного вызова, которая, в свою очередь, вызывается, как только будет выполнена блокирующая операция ввода/вывода.

При этом основной поток не останавливается во время блокирующих операций ввода/вывода: цикл событий постоянно совершает свои обходы, проверяет новые запросы и так далее. Благодаря этой архитектуре Node.js предотвращает создание все большего количества потоков и чрезмерного использования памяти.

Node.js является открытым проектом, исходники которого можно посмотреть на github.com.

Установка

Для загрузки перейдет на официальный сайт https://nodejs.org/en/. На главной странице мы сразу увидим две возможные опции для загрузки: самая последняя версия NodeJS и LTS-версия.

Загрузка NodeJS

Загрузим LTS-версию. В моем случае это версия 20.9.0. Для Windows установщик представляет файл с расширением msi. После запуска откроется программа установщика:

Установка Node JS на Windows

После успешной установки вы можем ввести в командной строке/терминале команду node -v , и нам отобразится текущая версия node.js:

C:\Users\eugen>node -v v20.9.0

Версии node.js для других операционных систем наряду с исходниками можно найти по адресу https://nodejs.org/en/download/

Инструменты разработки

Для разработки под Node JS достаточно простейшего текстового редактора. Можно взять любой, например, Visual Studio Code.

REPL

После установки NodeJS нам становится доступным такой инструмент как REPL. REPL (Read Eval Print Loop) представляет возможность запуска выражений на языке JavaScript в командной строке или терминале.

Так, запустим командную строку (на Windows) или терминал (на OS X или Linux) и введем команду node . После ввода этой команды мы можем выполнять различные выражения на JavaScript:

C:\WINDOWS\system32>node Welcome to Node.js v20.9.0 Type ".help" for more information. > 2+6 8 >

Или используем какую-нибудь функцию JS:

> console.log("Hello METANIT.COM"); Hello METANIT.COM undefined >

Можно определять свои функции и затем их вызывать, например, возведение числа в квадрат:

> function square(x) undefined >square(5) 25 >

Если мы введем что-то неправильно, то REPL укажет об ошибке:

REPL in Node JS

Выполнение файла

Вместо того чтобы вводить весь код напрямую в консоль, удобнее вынести его во внешний файл. Например, создадим на жестком диске новый каталог, допустим, C:\node\ , в который поместим новый файл app.js со следующим кодом:

console.log("Hello world");

В командной строке перейдем с помощью команды cd к каталогу C:\node, а затем выполним команду:

node app.js

Данная команда выполнит код из файла app.js:

Создаем свой первый проект на Node JS

У меня есть товарищ и я ему помогаю советом как разбираться в премудростях разработки. Недавно я дал ему задание — создать свой первый проект на NodeJS и небольшое тестовое задание.

И тут я понял, что, помимо написания кода и реализации задачи, необходимо рассказать всё, что необходимо для написания хорошего проекта.

Я буду писать много очевидных и банальных вещей, но, я уверен, что вы тоже можете пропускать один из пунктов и не уделять ему должное внимание.

Создайте репозиторий для проекта

Первое — вам нужно создать репозиторий для проекта. Стандартом для разработки является git и есть много популярных сервисов github, bitbucket, gitlab. Просто выберите один из сервисов и пользуйтесь, они все хорошие.

  • Привяжите ssh ключ вашей рабочей машины к аккаунту, это позволит работать с проектами по ssh-протоколу.
  • При создании проекта объязательно настройте .gitignore, шаблоны для популярных языков сервисы предоставляют.
  • Разберитесь с основными командами git-а: pull, push, add, commit, merge, rebase, status, diff, log, branch, checkout.
  • У каждый команды есть рабочий процесс для git-а. Изучите один из подходов, например, git flow.
  • Попробуйте использовать git “по взрослому”. Создавайте ветки и подветки, делайте мержи и ребейзы. Не бойтесь что-то сломать, это тестовый проект.
  • Если вам нравится GUI, то присмотритесь к одному из них. Например, gitk.
  • Почитайте про git книжку. Git Pro — одна из них.
  • Посмотрите пару видео про git: git yandex.
  • Не застревайте сильно на git-е, разберитесь в основах и двигайтесь дальше.

Создайте проект

Здесь, вроде, всё просто: команда npm init и проект создан. Для первого проекта стандартный пакетный менеджер npm будет отличным выбором, но почитать про yarn или pnpm.

  • Изучите package.json файл, секция main, scripts вам понадобится, а отличие dependencies от devDependencies нужно понимать.
  • Разберитесь с концепцией версионирования пакетов ..
  • Попробуйте установить парочку популярных пакетов lodash или express. Поиграйте с версиями: сможете откатить пакет до нужной версии или быстро обновить все пакеты до акуальной версии?
  • Присмотритесь к полезным утилитам: npm-check или npm-check-updates
  • Попробуйте установить нужный пакет из репозитория или из локальной папки.
  • Задание со звёздочкой. Попробуйте создать свой пакет, разберитесь с .npmingore файлом и с различными pre и post хуками npm-ма.

Качество кода

Для проекта вам нужно будет настроить linter или prettier. Я рекомендую eslint, но можно использовать prettier. Есть ещё editorconfig, я его добавляю в свои проекты.

  • Используйте eslint init, он подскажет удобную для вас конфигурацию.
  • Подключите один из готовых конфигов standard или airbnb. Для первого проекта это будет достаточно.
  • Не стесняйтесь отключать или изменять правила, если они вам не нравятся. Но будьте рассудительными, некоторые правила повышают безопастность вашего проекта, их лучше не менять.
  • У линтера есть куча плагинов, они помогут повысить качество вашего кода и спасут от ошибок. Например, import-plugin.
  • Настройте вашу IDE для работы с eslint-ом. Например, в VSCode autofix на каждое сохранение файла помогает сразу писать красивый код.
  • Разберитесь с опциями eslint. Например, опция cache может помочь не запускать каждый раз проверку всего кода.
  • Добавьте все скрипты в package.json/scripts секцию. Скрипт lint и lint:fix там должен быть точно.

Тестирование

Может быть, тестирование вам сразу не понадобится, но лучше всё сразу настроить, чтобы не тратить время потом. Существует множество пакетов для тестирования кода: mocha, chai, jest, jasmine, tap, sinon. Они все хорошие, просто выберете те, который вам нравится. Может быть их будет несколько.

  • Почитайте TDD и BDD подходы. Разберитесь чем отличается unit, integration и end-to-end тестирование.
  • Всегда помните, что тестирование должно помогать вам разрабатывать, писать код без багов и вносить изменения в существующий код без страха. Не применяйте разработку через тестирование, если вам не понятно, зачем оно. Но разобраться надо.
  • Подумайте, как лучше протестировать ваш проект, возможно вам будет достаточно написать несколько e2e-тестов. Ваша задача реализовать проект без багов, а не протестировать 100-процентов кода.
  • Пишите код с мыслью “а как его можно протестировать?”.
  • Заполните секцию в package.json test командой, которая запускает вашы тесты.

Настройка git hook

Небольшой, но важный пункт. После добавления в проект линтера и тестов вам может быть полезным настроить хуки гита. Хуки гита нужны для того, чтобы запускать какие-либо скрипты перед тем, как ваш код будет закоммичен или отправлен на сервер.

Для этой задачи пакет husky или pre-commit может подойти.

Разработка

Для разработки вам может или специальное окружение, которое можно создать через docker или утилита, которая будет перезапускать ваш проект в случае изменения кода, например, nodemon.

Скажу так, если начать разбираться ещё с докером, то свой первый проект можно не начать. Но почитать стоит. Например, вам может понадобится прикрутить какую-нибудь базу данных к проекту, проще это сразу сделать в докере.

В заключении

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *