eslint, EJS를 사용하여 Typescript + NodeJS Express 프로젝트를 만들고 Typescript 서버 변경 시 다시 시작하는 방법

깨끗한 프로젝트로 시작




pnpm init
or
npm init -y


일부 종속성 설치




pnpm add -save-dev eslint @types/node @types/express typescript ts-node-dev
pnpm add --save express ejs 

or 

npm install -save-dev eslint @types/node @types/express typescript ts-node-dev
npm install --save express ejs 


프로젝트를 위한 새 폴더 만들기




mkdir src
touch src/app.ts


src/app.ts




import express from 'express';
const app = express();
const port = 3000;
app.use(express.json());
app.use(express.static("public"));
app.set("view engine", "ejs");

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  return console.log(`http://localhost:${port}`);
});


공용 폴더의 새 폴더를 만듭니다.



보기의 새 폴더 만들기



tsconfig.json 생성




{
    "compilerOptions": {
        "module": "commonjs",
        "esModuleInterop": true,
        "target": "es6",
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "dist"
    },
    "lib": [
        "es2015"
    ]
}


이제 eslint의 초기화 명령을 실행하여 프로젝트를 대화식으로 설정합니다.




npx eslint --init


이제 초기화 프로세스를 완료하려면 몇 가지 질문에 답해야 합니다.


  • ESLint를 어떻게 사용하시겠습니까?: 구문을 확인하고 문제를 찾으려면
  • 프로젝트에서 사용하는 모듈 유형은 무엇입니까?: JavaScript 모듈(가져오기/내보내기)
  • 프로젝트에서 사용하는 프레임워크는 무엇입니까?: 없음
  • 프로젝트에서 TypeScript를 사용합니까?: 예
  • 코드는 어디에서 실행됩니까?: 노드
  • 어떤 형식의 구성 파일을 원하십니까?: JavaScript

  • 마지막으로 몇 가지 추가 eslint 라이브러리를 설치하라는 메시지가 표시됩니다. 예를 선택합니다. 프로세스가 완료되고 다음 구성 파일이 남게 됩니다.

    이제 ts-node-dev를 사용하여 TypeScript 서버 파일의 변경 사항을 확인합니다.



    dev 종속성을 이미 설치했으므로 많은 작업을 수행할 필요가 없습니다. package.json 파일에 시작 스크립트를 추가하기만 하면 됩니다.

    package.json을 변경하고 몇 줄을 추가해 보겠습니다.



    메인 추가

    "main": "dist/app.js",
    


    린트를 추가하고 스크립트에서 시작

    "lint": "eslint . --ext .ts",
    "start": "ts-node-dev src/app.ts"
    


    마지막으로 다음과 같아야 합니다.




    {
      "name": "typescript-node",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "lint": "eslint . --ext .ts",
        "start": "ts-node-dev src/app.ts"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "@types/express": "^4.17.13",
        "@types/node": "^18.0.0",
        "@typescript-eslint/eslint-plugin": "^5.30.0",
        "@typescript-eslint/parser": "^5.30.0",
        "eslint": "^8.18.0",
        "ts-node-dev": "^2.0.0",
        "typescript": "^4.7.4"
      },
      "dependencies": {
        "ejs": "^3.1.8",
        "express": "^4.18.1"
      }
    }
    


    이제 pnpm 또는 npm으로 프로젝트를 시작하십시오.




    pnpm start
    or
    npm start
    


    만세 당신은 새로운 프로젝트가 있습니다! 🎉



    Twitter에서 연결해 주세요 :-

    내 Github에서 놀라운 프로젝트를 확인하세요:- Github 🤝🏻

    LinkedIn에서 연결해 주세요 :-

    내 다른 기사 읽기 :-

    좋은 웹페이지 즐겨찾기