Время последнего обновления этой статьи: 2018-01-19
Адрес личного блога:blog.sqdyy.cn
1. Введение содержания
В этой статье будет кратко описано, как использоватьvscode [Visual Studio Code]
Инструменты разработки для создания набораTypeScript
среда разработки, в которой мы будем использоватьExpress
Эта гибкая среда разработки веб-приложений повысит эффективность нашего кодирования, и мы увеличимnodemon
Эта программа автоматически отслеживает ваш исходный код на наличие изменений и автоматически перезагружает сервер. Цель написания этой статьи -посадочные отметки, а также надеемся получить определенную референсную ценность для некоторых друзей, которые только начинают.
Необходимые знания для прочтения этой статьи требуют от вас:webpack
а такжеTypescript
При определенном понимании синтаксиса после прочтения этой статьи вы приступите к работе:
- Создайте веб-сервер с Nodejs
- Используйте Express для создания спокойного http-сервиса
- Используйте nodemon для отслеживания изменений файлов сервера и автоматического перезапуска сервера.
2. Создайте свой веб-сервер
- Сначала создайте
server
папку и использоватьnpm
команда для инициализации, мы используем машинописный язык для разработки нашего сервера
npm init -y
- Нам нужно ввести файл определения типа узла, Функция использования файла определения типа состоит в том, чтобы вы могли использовать существующую библиотеку javascript в машинописном тексте.
npm i @types/node --save
- Поскольку сам nodejs не может напрямую распознавать машинописный текст, нам нужно скомпилировать машинописный текст в javascript, поэтому создайте следующий файл конфигурации tsconfig.json, чтобы сообщить компилятору, как скомпилировать машинописный текст в javascript.Официальная документация машинописного текста:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "build",
"lib": [
"es6"
]
},
"exclude": [
"node_modules"
]
}
-
Нам нужно указать компилятору (vscode) использовать этот файл конфигурации для компиляции нашего машинописного текста с помощью сочетаний клавиш.
ctrl+shift+b
Создайте решение. -
На этом этапе наша среда разработки настроена, теперь давайте начнем писать наш файл сервера, сначала создайте
server/hello_server.ts
файл, этот сервер очень прост, просто принимает http-запрос и отвечает текстовым сообщением:
import * as http from 'http';
const server = http.createServer((req,resp) => {
resp.end("Hello Node!");
});
server.listen(8000);
- выполнить снова
ctrl+shift+b
Скомпилируйте файл, первое выполнение поднимет недостающие.vscode/tasks.json
файл, создайте его и продолжите выполнениеctrl+shift+b
, то согласноtsconfig.json
конфигурация, будет вbuild
Скомпилированный код javascript генерируется в каталоге:
// build/hello_server.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var http = require("http");
var server = http.createServer(function (req, resp) {
resp.end("Hello Node!");
});
server.listen(8000);
- Теперь мы можем запустить наш сервер узла через этот файл, выполнить следующую команду, чтобы запустить сервер, а затем получить доступ
localhost:8000
:
node build/hello_server.js
3. Упростите разработку с помощью фреймворка Express
Express
основывается наNode.js
Платформа представляет собой быстрый, открытый и минималистичный фреймворк для веб-разработки.Причина ее использования очень проста.Мы используем оригинальный узел для разработки, и нам нужно решать многие проблемы вручную, такие как чтение файлов, маршрутизация запросов и обработка различных типов запросов. при использованииExpress
Может помочь вам справиться с этими вещами быстрее. так что вы должны добраться до негоОфициальный сайтузнать его.
- Сначала мы устанавливаем
express
Рамка:
npm install express --save
- Затем мы вводим
express
Файл определения типа для:
npm install @types/express --save
- Теперь, когда мы можем использовать экспресс-API с машинописным кодом, мы создаем новый файл конфигурации сервера.
server/auction_server.ts
:
import * as express from 'express';
const app = express(); // 用于声明服务器端所能提供的http服务
// 声明一个处理get请求的服务
app.get('/', (req, resp) => {
resp.send("Hello Express");
});
app.get("/products", (req, resp) => {
resp.send("接收到商品查询请求");
});
const server = app.listen(8000, "localhost", () => {
console.log("服务器已启动, 地址是:http://localhost:8000");
});
- Теперь мы выполняем
ctrl+shift+b
, то черезauction_server.js
Файл запускает сервер узла:
node build/auction_server.js
В-четвертых, используйте инструмент nodemon для автоматической перезагрузки сервера.
Мы научились строить нодовый сервер, но это очень неудобно, когда мы модифицируем код проекта, сервер не перезапустится автоматически. Это очень раздражает и тратит время, поэтому великий бог разработал инструмент для автоматического перезапуска.nodemon
, давайте установим его.
1. Сначала устанавливаемnodemon
:
npm install -g nodemon
2. Выполните следующую команду, чтобы запустить сервер:
nodemon build/auction_server.js
На самом деле, существует более быстрый способ автоматически компиляции и автоматически перезагружать сервер. Если вы заинтересованы, обратитесь к этой статье:Используйте vscode для автоматической компиляции nodejs машинописного текста и автоматического запуска службы.