Автор оригинала: Olawale Aladeusi.
Я недавно встретил кого-то с некоторыми трудностями по пониманию узла JS и Expressjs. Поэтому я решил собрать это вместе с надеждой, что это кому-то поможет.
В этом руководстве вы узнаете, как создать простую API с Nodejs, используя ES6. Что такое Nodejs, вы можете задать – согласно Википедия Node.js – это открытый источник, кроссплатформенная среда выполнения JavaScript, которая выполняет код JavaScript за пределами браузера. Это JavaScript Runtime, построенный на двигателе Chrome V8 JavaScript. Проще говоря, Nodejs дайте нам возможность писать резервный код в JavaScript.
Что мы будем строить?
Вы узнаете, как построить API отражения – приложение отражения дает пользователям возможность отражать и документировать ежедневные успехи, сбои и план на то, что делать лучше на следующий день.
Успех не является окончательным; Отказ не является смертельным: это смелость продолжать, что считается. – Уинстон С. Черчилль
Начиная
Прежде чем продолжить, установите следующую систему, если у вас еще нет
На вашем терминале запустите следующую команду, чтобы проверить, будут ли успешно установлены ли NODEJS и NPM в вашей системе
Настройка проекта
- Создайте новый каталог проекта в вашей системе, вы можете позвонить
node_express_tutorial.
- Изменить работу непосредственно в проект и запустить
NPM init
На вашем терминале или командной строке, если вы используете оконную систему – бегаNPM init
Подскажет вам некоторые вопросы, чтобы помочь настроить свой проект
Что это сделано, вы должны увидеть Package.json
Файл в вашем проекте, и он содержит базовую информацию о вашем проекте.
{ "name": "node_express_tutorial", "version": "1.0.0", "description": "node express tutorial", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Olawale Aladeusi", "license": "ISC" }
Далее давайте установим все пакетные зависимости, которые нам нужно будет построить проект
- Expressjs – Expressjs – это Web Application Web Application, которая дает нам возможность создавать быстрые и легкие API.
- Momentjs – Это дает нам возможность проверять и манипулировать даты.
- UUID NPM пакет] (https://www.npmjs.com/package/uuid)
- Бабелс – Поскольку мы будем писать все наш код JavaScript, используя ES6, Babeljs поможет в преобразовании наших кодов ES6 ES5.
- Вавиловые часы – Это необходимо для развития. Одна вещь, которую делает пакет Babel Watch, заключается в том, чтобы составить наш код и перезагрузить сервер каждый раз, когда мы вносим изменения в наш код.
Запустите следующую команду, чтобы установить все вышеупомянутые пакеты
$ npm install --save express moment uuid $ npm install --save-dev babel-cli babel-preset-env babel-watch
Если все прошло хорошо, вы должны увидеть что-то похожее на это
и ваш Package.json
Файл должен содержать следующее
{ "name": "node_express_tutorial", "version": "1.0.0", "description": "node express tutorial", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Olawale Aladeusi", "license": "ISC", "dependencies": { "express": "^4.16.3", "moment": "^2.22.2" }, "devDependencies": { "babel-cli": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-watch": "^2.0.7" } }
Вы заметите, что Экспресс и момент
находится под зависимости
Это потому, что те, которые нужны к тому времени, когда мы развертываем наш код до производства. Babel-Cli, Babel-Preset-Env и Babel-Watch
нужны только во время развития. Вы также должны увидеть новую папку, называемую node_modules
В каталоге COOR Project – эта папка содержит исходный код пакета, который мы загрузили.
Структура проекта
Настройте структуру проекта, используя следующий формат
-node_express_tutorial |-package.json |-.babelrc |-server.js |-src |-controllers |-Reflection.js |-models |-Reflection.js
Настройка сервера
Добавьте следующий код в server.js.
alt.
Из кода выше мы импортировали Экспресс
и создать новый экземпляр Express const ()
Отказ Мы создали новый Express.json ()
промежуточное программное обеспечение – это необходимо для получения доступа к телу запроса. Наконец, мы настроили конечную точку образец для проверки, если сервер работает. Примечание: Express.json ()
Доступен только в Экспресс версии 4.16.0
и выше
Если вы запустите сервер, используя Node Server.js
команда, вы получите ошибку
Не волнуйтесь, вы получаете ошибку, потому что oddjs Runtime не может понять некоторые из функций ES6, которые мы использовали – E.g Импорт
Отказ В следующем разделе мы настроим Babel – Babel поможет нам скомпилировать код ES5, что Nodejs Runtime может понять.
Установить Бабел
В корневом каталоге проекта создайте новый файл и назовите его .babelrc
и добавить
{ "presets": ["env"] }
Далее, открыть Package.json
и добавить "построить": "Babel Server.js --out-dir Build"
под Сценарий
имущество.
{ "name": "node_express_tutorial", "version": "1.0.0", "description": "node express tutorial", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "babel server.js --out-dir build" }, ################# # existing code # ################ }
Теперь запустите следующую команду
$ npm run build
Если вышеуказанная команда была успешной, вы заметите, что новый построить
Папка была создана в каталоге проекта. Откройте его и нажмите server.js
– Обратите внимание на исходный код был скомпилирован до ES5. Таким образом, запустите Server.js внутри папки сборки, должны успешно запустить свой сервер без ошибок.
$ node build/server.js
Чтобы проверить, работает ли наша образец конечной точки, перейдите к http://localhost: 3000/
на браузере.
Последнее, что нам нужно сделать в этом разделе, является настройкой Babel-Watch. В настоящее время, если вы внесите какие-либо изменения в Server.js, вам нужно будет запустить новую сборку и перезапустить сервер до того, как ваши изменения будут отражены. Проходя через процесс сборки и перезапуск сервера не имеет смысла для цели развития. Именно здесь Babel-Watch пришли к спасению, поскольку имя подразумевает, что Babel-Watch Watch в любых изменениях, которые вы сделали в вашем коде и автоматически компилируйте и перезапустите свой сервер. Добавить «Dev-start»: «Babel-Watch Server.js»
к вашему Package.json
под Сценарий
Отказ Бег NPM запустить Dev-start
должен начать свой сервер
Настройка модели отражения
Чтобы сделать все возможное, мы не будем использовать базу данных для нашего проекта. Вместо этого мы будем использовать объекты JavaScript для сохранения данных пользователя. Открыть SRC/Модели/Отражение .JS
и добавьте следующий код
alt.
Мы создали Отражение
класс с пятью методами Создать ()
– Создать новое отражение, findone ()
– Найти одно отражение, findall ()
– Найти все отражения, Обновление ()
– Обновите отражение и Удалить ()
– Удалить отражение. Каждый объект отражения содержит шесть преддверия ID
, Успех
, Низкая точка
, вынос
, созданиеdate
и Модифицированныйdate
Отказ Мы используем uuid.v4 ()
Чтобы установить идентификатор отражения по умолчанию, момент
Чтобы установить значения по умолчанию для созданиеdate
и Модифицированныйdate
Отказ
Настройка контроллера и конечных точек
Следующие конечные точки будут определены
- Создать отражение –
Post/API/V1/Размышления
- Получить все размышления –
Получить/API/V1/Размышления
- Получить отражение –
Получить/API/V1/Размышления/: ID
- Обновление отражения –
Путь/API/V1/Размышления/: ID
- Удалить отражение –
Удалить/API/V1/Размышления/: ID
Но сначала давайте создадим наш контроллер отражения, чтобы сделать следующий код для SRC/Контроллеры/Отражение
alt.
Мы создали Отражение
Объект, который содержит создать
– Создать новое отражение, Геталл
– Получить все размышления, GetOne
– Получить одно отражение, Обновить
– Обновите отражение и Удалить
– Удалить свойства отражения.
Наконец, давайте определим наши конечные точки, открыть server.js
и добавьте следующий код
import Reflection from './src/controllers/Reflection'; app.post('/api/v1/reflections', Reflection.create); app.get('/api/v1/reflections', Reflection.getAll); app.get('/api/v1/reflections/:id', Reflection.getOne); app.put('/api/v1/reflections/:id', Reflection.update); app.delete('/api/v1/reflections/:id', Reflection.delete);
Вышеуказанное определяет все наши пять конечных точек, каждое соединение с соответствующим методом контроллера.
Тест на почтальон
Используйте следующую команду для запуска сервера
$ npm run dev-start
Вы можете использовать почтальон, чтобы проверить все наши конечные точки
Создать отражение
Получить все размышления
Получить отражение
Обновление отражения
Удалить отражение
Заключение
В этом руководстве мы узнали, как настроить Node Supplyss Server, как настроить модели с использованием объекта и как создавать основные конечные точки.
Оставьте свои вопросы и комментарии. Не забудьте, как этот пост, если вы узнали одну или две вещи.