Время последнего обновления этой статьи: 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 машинописного текста и автоматического запуска службы.