TS+Nodejs+Express создает веб-сервер для интерфейсной отладки.

Node.js внешний интерфейс сервер TypeScript

Время последнего обновления этой статьи: 2018-01-19
Адрес личного блога:blog.sqdyy.cn

1. Введение содержания

В этой статье будет кратко описано, как использоватьvscode [Visual Studio Code]Инструменты разработки для создания набораTypeScriptсреда разработки, в которой мы будем использоватьExpressЭта гибкая среда разработки веб-приложений повысит эффективность нашего кодирования, и мы увеличимnodemonЭта программа автоматически отслеживает ваш исходный код на наличие изменений и автоматически перезагружает сервер. Цель написания этой статьи -посадочные отметки, а также надеемся получить определенную референсную ценность для некоторых друзей, которые только начинают.

Необходимые знания для прочтения этой статьи требуют от вас:webpackа такжеTypescriptПри определенном понимании синтаксиса после прочтения этой статьи вы приступите к работе:

  • Создайте веб-сервер с Nodejs
  • Используйте Express для создания спокойного http-сервиса
  • Используйте nodemon для отслеживания изменений файлов сервера и автоматического перезапуска сервера.

2. Создайте свой веб-сервер

  1. Сначала создайтеserverпапку и использоватьnpmкоманда для инициализации, мы используем машинописный язык для разработки нашего сервера
npm init -y
  1. Нам нужно ввести файл определения типа узла, Функция использования файла определения типа состоит в том, чтобы вы могли использовать существующую библиотеку javascript в машинописном тексте.
npm i @types/node --save
  1. Поскольку сам nodejs не может напрямую распознавать машинописный текст, нам нужно скомпилировать машинописный текст в javascript, поэтому создайте следующий файл конфигурации tsconfig.json, чтобы сообщить компилятору, как скомпилировать машинописный текст в javascript.Официальная документация машинописного текста:
{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "outDir": "build",
        "lib": [
            "es6"
        ]
    },
    "exclude": [
        "node_modules"
    ]
}
  1. Нам нужно указать компилятору (vscode) использовать этот файл конфигурации для компиляции нашего машинописного текста с помощью сочетаний клавиш.ctrl+shift+bСоздайте решение.

  2. На этом этапе наша среда разработки настроена, теперь давайте начнем писать наш файл сервера, сначала создайтеserver/hello_server.tsфайл, этот сервер очень прост, просто принимает http-запрос и отвечает текстовым сообщением:

import * as http from 'http';

const server = http.createServer((req,resp) => {
    resp.end("Hello Node!");
});

server.listen(8000);
  1. выполнить снова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);
  1. Теперь мы можем запустить наш сервер узла через этот файл, выполнить следующую команду, чтобы запустить сервер, а затем получить доступlocalhost:8000:
node build/hello_server.js

3. Упростите разработку с помощью фреймворка Express

Expressосновывается наNode.jsПлатформа представляет собой быстрый, открытый и минималистичный фреймворк для веб-разработки.Причина ее использования очень проста.Мы используем оригинальный узел для разработки, и нам нужно решать многие проблемы вручную, такие как чтение файлов, маршрутизация запросов и обработка различных типов запросов. при использованииExpressМожет помочь вам справиться с этими вещами быстрее. так что вы должны добраться до негоОфициальный сайтузнать его.

  1. Сначала мы устанавливаемexpressРамка:
npm install express --save
  1. Затем мы вводимexpressФайл определения типа для:
npm install @types/express --save
  1. Теперь, когда мы можем использовать экспресс-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");
});
  1. Теперь мы выполняем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 машинописного текста и автоматического запуска службы.