Node & Express 서버이지만 TypeScript를 사용하십시오!
13903 단어 tutorialnodetypescriptbeginners
이 문서에서는 TypeScript를 사용하여 노드 및 Express 서버를 구축하는 방법에 대해 설명합니다.그래서 어떤 언어가 더 좋은지, 어떤 언어가 나쁜지 상관없이 타자만 배우고 싶다면 따라 배워라.
우리 시작하자.🤓
프로젝트 초기화
선택한 폴더로 이동하여 해당 폴더의 터미널을 엽니다.현재 npm
를 사용하여 새 프로젝트를 초기화합니다.
cd code/
mkdir node-typescript-demo
npm init -y
cd code/
mkdir node-typescript-demo
npm init -y
-y
플래그는 모든 기본값을 사용하는 데 사용됩니다.값을 수동으로 입력하려면 이 옵션을 무시할 수 있습니다.package.json
파일이 있어야 합니다.{
"name": "node-typescript-demo",
"version": "1.0.0",
"description": "",
"main": "server.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Soumya Dey",
"license": "MIT"
}
프로젝트 디렉터리의 루트 디렉터리에 주 파일을 만듭니다 server.ts
.선택한 코드 편집기에서 항목을 엽니다.Visual Studio 코드를 사용하겠습니다.touch server.ts
code .
종속성 설치
이제 서버에 필요한 모든 의존 항목을 설치합니다.
express
및 typescript
를 설치합니다.npm i express typescript
형식 스크립트 형식의express와node버전이 있어야 형식을 식별할 수 있습니다.또한 터미널에서 TypeScript로 직접 작성한 개발 서버를 실행하려면 ts-node
라는 패키지가 필요합니다.npm i -D @types/node @types/express ts-node
서버 시작 및 실행
이제 서버에 실행할 코드를 추가합니다.
편집기에서
server.ts
파일을 열고express 프로그램을 만듭니다.서버를 실행하기 위해 다음 코드를 추가합니다.import express from "express";
const app = express();
const PORT = process.env.PORT || 4000;
app.get("/", (req, res) => res.send("Hello from server!"));
app.listen(PORT, () => console.log(`⚡Server is running here 👉 https://localhost:${PORT}`));
하지만 서버를 실행하기 전에 마지막으로 해야 할 일이 있습니다.코드를 정확하게 컴파일하기 위해 typescript에
config
파일을 만들어야 합니다.개발자 서버 프로젝트의 루트 디렉터리에
tsconfig.json
파일을 만들고 다음 코드 줄을 추가합니다.{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"rootDir": "./",
"outDir": "./build",
"esModuleInterop": true,
"strict": true
}
}
compilerOptions
는 필수 필드입니다.위 구성에 사용된 옵션은 다음과 같습니다.target
컴파일러가 내보낼 대상 JavaScript 버전을 지정할 수 있습니다.module
컴파일된 JavaScript 코드에서 모듈 관리자를 사용할 수 있습니다.지원commonjs
- 노드의 표준 구성입니다.js.rootDir
는 TypeScript 파일의 노드 내 위치를 지정하는 옵션입니다.js 프로젝트.outDir
컴파일된 출력의 위치를 지정합니다.esModuleInterop
ES6 모듈을 commonjs
모듈로 컴파일할 수 있습니다.strict
는 엄격한 유형 검사 옵션을 사용하는 옵션입니다.이제 터미널을 열고 다음 명령을 입력하여 서버를 시작합니다.
nodemon
를 사용하여 파일 변경 사항을 모니터링합니다.명령nodemon
을 사용하여 컴퓨터에 전역적으로 설치할 수 있습니다npm i -g nodemon
.그것을 사용하려면
server
파일에 package.json
스크립트를 추가할 수 있습니다."scripts": {
"server": "nodemon server.ts"
},
이제 server
스크립트로 서버를 시작합니다.npm run server
오류가 없으면 터미널에서 이 출력을 보아야 합니다.[nodemon] 2.0.6
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: ts,json
[nodemon] starting `ts-node server.ts`
⚡Server is running here 👉 https://localhost:4000
이제 브라우저에서 https://localhost:4000
를 열면 다음 화면이 표시됩니다.nodemon
를 사용하면 파일이 변경되면 자동으로 서버를 다시 시작합니다.이것이 바로 당신의 node js 서버입니다. 이것은 TypeScript로 실행되며 매우 훌륭합니다.
TypeScript 항목 컴파일
TypeScript 항목을 유효한 JavaScript 항목으로 컴파일하려면 먼저
build
파일에 package.json
라는 새 스크립트를 선언합니다."scripts": {
"server": "nodemon server.ts",
"build": "tsc --project ./"
},
tsc
라는 코드를 컴파일하는 명령을 제공합니다.이 명령은 컴파일할 내용을 지정하기 위해 로고가 필요합니다.--project
(줄임말: -p
)는 프로젝트 디렉터리를 지정하는 데 사용되며, 컴파일러는 코드 파일을 선택하여 유효한 자바스크립트로 컴파일할 수 있습니다../
명령 컴파일 코드npm run build
현재 프로젝트 디렉터리의 루트 디렉터리에 build
라는 폴더가 있습니다.폴더를 열면 JavaScript로 컴파일된 TypeScript 코드가 포함된 파일을 볼 수 있습니다.
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const app = express_1.default();
const PORT = process.env.PORT || 4000;
app.get("/", (req, res) => res.send("Hello from server!"));
app.listen(PORT, () => console.log(`⚡Server is running here 👉 https://localhost:${PORT}`));
build
파일에 속성 값outDir
이라는 다른 디렉토리를 지정하면 해당 디렉토리의 이름이 tsconfig.json
대신 여기에 반영됩니다.소스 코드
너는 이곳에서 최종 원본 코드를 얻을 수 있다👉 @Soumya-Dey/node-typescript-server-demo
읽어주셔서 감사합니다.만약 네가 이 문장을 좋아한다면, 사랑을 표현해야 한다.
Follow me on github .
이 글에 대한 당신의 견해를 평론에서 공유하는 것을 잊지 마세요.
Reference
이 문제에 관하여(Node & Express 서버이지만 TypeScript를 사용하십시오!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/soumyadey/node-express-server-but-with-typescript-2h6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)