Nodejs

Nodejs

    [ NodeJS ] Webpack + SASS 설정하기

    SASS 기존 웹페이지에 스타일을 적용하기 위해서는 CSS로 하나하나 변경해주어야 하는 번거로움이 있다. 이 같은 CSS의 개발 편의성을 높이기 위해 등장한 SASS, 프리프로세서 스크립트 언어이다. CSS의 경우 HTML환경에 style 태그만 지정해주면 바로 로드가 되는데 이 SASS란 녀석은 그렇지가 않다. 사용하기 전에 CSS로 컴파일하는 과정이 필수다. 그래서 보통 웹팩과 함께 사용된다. 1. 필요 라이브러리 설치 npm i webpack webpack-cli sass sass-loader style-loader mini-css-extract-plugin css-loader 설치를 완료해주면 웹팩 설정파일을 만들어준다. 2. webpack.config.js import MiniCssExtract..

    [ NodeJS ] winston 콘솔에서 색상 지정하기

    winston 설치 및 설정 아래 명령어를 입력해서 설치해줍니다. npm i winston 코드 설정 import winston from 'winston'; import dayjs from 'dayjs'; const messageSymbol = Symbol.for('message'); const colorset = { "INFO": "\x1b[34m[ %s ]\x1b[0m", "ERROR": "\x1b[31m[ %s ]\x1b[0m", "WARN": "\x1b[33m[ %s ]\x1b[0m" } export async function init () { winston.configure({ level: 'info', format: winston.format.combine( winston.format(func..

    [ NodeJS ] TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" 에러

    해결방법 해결방법은 정말 간단하다. node --experimental-json-modules app.js 만 붙여주고 실행하면 된다.

    [ Webpack5 ] export 'default' was not found in 에러

    ERROR in ./frontend/public/js/handle.js 10:0-31 export 'default' (reexported as 'Feeds') was not found in './feeds.js' (possible exports: Feeds) webpack 5.72.0 compiled with 1 error in 112 ms 웹팩에서 클래스를 임포트 할 때 위와 같은 에러가 뜰 수 있습니다. 이때 임포트 할 클래스를 export default class로 설정해주시면 에러가 해결됩니다. ❌ 에러 코드 export class Feeds { constructor(token) { this.token = token } ... } 👍 수정 코드 export default class Feeds { ..

    [ NodeJS ] fs 모듈 ENOTEMPTY: directory not empty, rmdir 에러

    fs모듈에서 폴더를 삭제하고 싶을 때 사진과 같은 에러가 뜨며 정상적으로 삭제되지 않는 경우가 있습니다. 에러 화면에서 볼 수 있듯이 폴더 내에 파일이 있으면 에러를 뿜게 됩니다. 이때 강제적으로 제거할 수 있는 방법이 있습니다. fs.rmdir(directory, { recursive: true, force: true }, (error) => { if (error) { return { isremoved: 0 } } else { return { isremoved: 1 } } }); { recursive: true, force: true } 를 설정으로 추가해주면 됩니다.

    NodeJS 템플릿을 만들어보며

    https://devent.tistory.com/141 NodeJS 템플릿 개발기 I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 devent.tistory.com 🖥 바퀴를 재발명하지 말자 앞선 글에 나와있듯이 자동차를 만들기 위해 바퀴를 재발명할 필요는 없다. 반복적인 일을 줄이기 위해서는 한 번 발명했던 기술을 공식화하여 누구나 쉽게 사용할 수 있도록 해야 한다. 마치 수학자들이 수학 공식을 만들듯, 개발자 또한 템플릿화를 해놓으면 편하다. 대부분의 상용 서비스들은 고만고만하다. 커뮤니티, 채팅 앱, 정보공유 서비스 등등 무수한 웹서비스들은 모두 프론트/백엔..

    NodeJS 템플릿 개발기

    I. 개발 동기 개발 동기를 3가지로 정리하자면 반복적인 코드 귀찮음 예) 로그인/인증 로직 라우터 몰빵 습관 개선 의지 내가 짠 코드 오픈소스화 '그동안 발로 짠 코드가 많아서 이번 기회에 좋은 코드를 짜는 습관을 만들고 싶었다.' II. 개발 목적 서비스 개발에서 모듈화와 클린 코드의 중요성은 언급하지 않아도 알 수 있다. 클린 코드는 코드의 불필요한 재생산을 막아주어 안정적인 서비스 개발이 가능해진다. 그럼에도 프로젝트의 구조를 생성하고 기본 기능을 처음부터 다지기란 쉽지 않다. Github에는 템플릿 기능이 있다. 오늘은, Github를 활용하여 NodeJS + MySQL + ExpressJS + RESTApi... 를 포함한 기본 템플릿 프로젝트 개발 기를 소개하고자 한다. 서비스 레포는 아래 ..

    [ Nodejs ] Cannot destructure property 'name' of 'node' as it is null 에러

    I. 문제 npm ERR! code ERESOLVE npm ERR! Cannot destructure property 'name' of 'node' as it is null. npm install 명령어를 입력하니 위와같은 에러가 나오게 됩니다. 구글에 검색해보니 https://stackoverflow.com/questions/65724281/cannot-destructure-property-name-of-node-as-it-is-null Cannot destructure property 'name' of 'node' as it is null when I want to install dependencies of the aurelia project, got this error: npm ERR! code 1..