본문 바로가기

Backend/NestJS

(47)
ERROR [ExceptionHandler] Nest can't resolve dependencies of the UsersController (?). Please make sure that the argument UsersService at index [0] is available in the AppModule context. 문제 상황 $ nest g resource Users 위의 명령어를 터미널로 입력했는데 intelliJ 터미널에서 계속 아래와 같은 에러가 출력되었다. Mac Terminal에서는 아래와 같이 에러가 출력되어 중복 이슈인가?싶어서 tsconfig.json의 "skipLibCheck": true, 를 확인했는데도 true로 설정이 되어있어서 뭐지 싶었다. 문제 해결 app.module.ts 부분에서 providers 부분에서 AppService는 등록이 되어있으나 UsersService 등록이 되어있지 않았다. -> 만든 모듈은 모두 app.module.ts에 모두 등록을 해주어야 한다. 근데 의문. UserController는 controllers에 자동으로 등록이 되어있었는데 왜 providers - ..
Terminal과 IntelliJ 터미널 결과가 다르다? 문제 상황 분명 IntelliJ에서 Users 폴더에서 Error 부분에 있는 파일명을 지웠는데 에러가 발생하는 것이다. 문제 해결 Mac Terminal하고 intelliJ 터미널하고 반영에 있어서 무언가 차이가 있었던건지? IntelliJ에서는 바로 Users 폴더가 만들어지고 위의 에러가 발생하지 않았는데 Mac Terminal에서는 같은 오류가 계속 발생하고 있었다. 그래서 Mac에서는 해당 프로젝트에서 1) ls 명령어로 파일 확인 2) src > Users(or users) 디렉토리 삭제 3) nest g resource Users로 재설치 그래도 Mac 터미널로 관리하는게 좋긴 한 것 같다. 저런 시차? 똑같은 터미널 환경인데 왜 한 부분에만 반영이 되는지에 대한 의문은 아직 풀리지 않았다..
npm과 nest 명령어를 헷갈리다니 - undefined 오류 문제 상황 프로젝트 위치에서 Users에 관한 보일러플레이트 코드를 설정하려고 맥 터미널에 명령어를 입력했는데 계속 undefined 오류가 발생하는 것이다. 어디서 선언이 안되어서 그런가?하고 생각했다. 해결 방법 nest g resource Users 위와 같이 입력해줘야 undefined 오류가 사라진다. 이런 실수는 다시 하지 않기!
NestJs에서 ReferenceError: Request is not defined 에러 발생시 해결방법 (feat. express) 문제 상황 NestJs를 이용하여 클라이언트 > 서버로 HTTP 요청 객체(req)를 보내려고 했는데 계속 ReferenceError: Request is not defined 라는 에러가 발생했다. 무언가 참조가 안되고 있는 것 같았다. 문제 코드와 상황 app.controller.ts 파일에서 express 요청에 대한 import가 없는 상황이었다. 해결 방법 HTTP에 대한 요청이 들어갈때마다(브라우저에서 새로고침) 인텔리제이 콘솔창에서 아래와 같은 요청값이 출력되었다. body: {}, route: Route { path: '/', stack: [ [Layer] ], methods: { get: true } }, [Symbol(kCapture)]: false, [Symbol(kHeaders)]:..
Nest.js 기본 구조 정리 1. eslintrc.js 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤 수 있게 도와주는 라이브러리 Typescript를 쓰는 가이드라인 제시, 문법에 오류가 나면 알려주는 역할 등등 2. prettierrc 코드 형식을 맞추는데 사용. 작은따옴표 ' 를 사용할지, 큰따옴표 " 를 사용할지, Indent(띄어쓰기) 값을 2줄로 할지 4줄로 할지 등등. 코드 포맷터 역할 3. nest-cli.json nest 프로젝트를 위해 특정한 설정을 할 수 있는 json 파일 4. package.json build : 운영환경을 위한 build format : lint에러가 낫을지 수정 start : 앱 시작 -> (개발 환경시에는 npm run start : dev) 5. tsconfig.build.json..
Nest.js 터미널에 설치 시 관리자 권한 문제 발생한다면? (feat. sudo) 원래는 아래와 같이 설치해주지만 npm i -g @nestjs/cli 만약 관리자 권한과 관련된 문제가 생긴다면 sudo 키워드를 이용해 설치해준다. sudo npm i -g @nestjs/cli * sudo UNIX 및 UNIX 계열 운영체제에서 다른 사용자의 보안 권한, super-user로서 프로그램을 구동할 수 있도록 하는 명령어
nestJS 사전조사(Typescript+Node.js+객체지향) + IoC,AOP 프로젝트에서 nestJS를 사용하게 되어 사용 전에 미리 약간의 조사를 하고자 한다. - Node.js 기반 but Node.js의 경우 손쉽게 사용할 수 있고 뛰어난 확장성을 제공하지만 과도한 유연함으로 인해 SW 품질 저하 - 이에 반해 NestJS는 DB,ORM,설정,유효성 검사 등 수많은 기능 제공 - 모듈/컴포넌트 기반으로 프로그램을 작성하여 재사용성을 높여줌 - NestJS로 REST API를 만드는 다양한 프로젝트들이 있으니 개인적으로 공부할 때 참고해야겠다. loC(Inversion of Control) DI(Dependency Injection) AOP(Aspect Oriented Programming) 등 객체지향 개념 도입 -> Typescript,Node.js의 장점들을 가져와서 N..