Node.js/백엔드
-
TS + Sequelize | Error: SyntaxError: Cannot use import statement outside a module 해결 방법Node.js/백엔드 2021. 6. 3. 12:14
프로젝트 진행 중 Sequelize 설정 후 DB 생성을 위해 npx sequelize db:create 명령어를 입력했는데 다음과 같은 에러를 맞닥뜨렸다. config.ts를 읽는 도중 발생한 에러다. 이는 ts-node가 .sequelizerc 파일을 트랜스파일 대상으로 인식하지 못하여 발생한다고 한다. config.ts는 ES6 문법(import export)을 사용하고, Sequelize는 CommonJS(require, module.exports)를 사용하여 충돌이 생긴 것이다. .sequelizerc를 컴파일할 때 ts-node가 불러와지도록 require('ts-node').register({ /* options */ })를 .sequelizerc에 추가해주면 에러가 해결된다.
-
CookieNode.js/백엔드 2021. 5. 1. 06:40
쿠키(cookie)란 브라우저에 저장 가능한 작은 데이터 조각이다. HTML5에서 WebStorage API (LocalStorage, sessionStorage) 가 소개 되기 전까지 브라우저에 데이터를 저장할 수 있는 유일한 방법이었다. 쿠키는 4KB(=4096byte) 미만의 하나의 문자열이고, 브라우저에 저장된 후 document.cookie 로 접근할 수 있으며 세미콜론(;)으로 구분된 key-value 쌍을 포함하고 있다. document.cookie를 통한 쿠키 연산 document.cookie 는 getter와 setter를 가진 object다. document.cookie로 새로운 값을 할당하면 setter 가 동작한다. 모든 쿠키는 하나의 스트링으로 저장되기 때문에 아래와 같은 방법으로..
-
app.locals, req.app.locals, res.locals의 차이Node.js/백엔드 2020. 4. 5. 03:40
app.locals 자바스크립트 객체이고, 프로퍼티들은 애플리케이션 내의 지역 변수들이다. 애플리케이션의 라이프 타임 동안 유효하다. req.app.locals 미들웨어에서 app의 지역 변수들을 사용할 수 있게 해준다. res.locals res.locals의 프로퍼티들은 request의 라이프 타임 동안에만 유효하다. html/view 클라이언트 사이드로 변수들을 보낼 수 있으며, 그 변수들은 오로지 거기서만 사용할 수 있다. https://stackoverflow.com/questions/35111143/express4-whats-the-difference-between-app-locals-res-locals-and-req-app-local Express4. What's the difference ..
-
AWS EC2로 Node.js 애플리케이션 배포하기(+ pm2)Node.js/백엔드 2020. 3. 5. 10:17
1. ubuntu의 Home dir(~)에서 npm install git으로 git을 설치한다. 2. git clone 원격저장소주소로 원격저장소를 EC2 인스턴스에 복제한다. 3. EC2 인스턴스에 Nodejs를 설치한다. EC2 인스턴스에 설치하는 방법은 아래 공식 문서에 자세히 나와있다! https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html Tutorial: Setting Up Node.j..
-
-
What app.set function do (Express.js)Node.js/백엔드 2020. 1. 30. 23:37
var app = Express() 로 express 인스턴스를 생성하면, app.set(키, 값)으로 app, 즉 express 인스턴스에 변수들을 저장할 수 있다. 저장한 변수들을 반환하고 싶을 때는 app.get(키)로 app.set(키, 값)으로 설정했던 것을 가져올 수 있다. req.app.get(키)로 가능하다. https://stackoverflow.com/questions/25229129/what-app-set-function-does-express-js What app.set function does (express.js)? I am new to node.js and was going through an example could not understand app.set('title', '..
-
Node MySQL2Node.js/백엔드 2020. 1. 30. 01:18
npm install --save mysql2 Node MySQL2 기본적인 쿼리 // MySQL 클라이언트 가져오기 const mysql = require('mysql2'); // 데이터베이스와 연결 const connection = mysql.createConnection({ host: 'localhost', user: 'root', database: 'test' }); // 간단한 쿼리 connection.query( 'SELECT * FROM `table` WHERE `name` = "Page" AND `age` > 45', function(err, results, fields){ console.log(results); // ..
-
REST API, JSON, 라우터 리팩토링Node.js/백엔드 2020. 1. 4. 16:16
REST API 요청이 주소를 통해 들어오므로 서버가 이해하기 쉬운 주소를 사용하는 것이 좋다. REpresentational State Transfer의 약어 네트워크 구조의 한 형식 → 서버의 자원을 정의하고, 자원에 대한 주소를 지정하는 방법 주소는 의미를 명확히 전달하기 위해 명사로 구성됨 /user → 사용자 정보에 관련된 자원 요청 /post → 게시글에 관련된 자원 요청 주소 외에도 HTTP 요청 메서드 사용 HTTP 요청 메서드 GET: 서버 자원을 가져오고자 할 때 사용. 요청의 본문(body)에 데이터를 넣지 않는다. 데이터를 서버로 보내야 한다면 쿼리스트링을 사용한다. 브라우저에서 캐싱할 수 있다. 같은 주소의 GET 요청을 할 때 서버에서 가져오는 것이 아니라 캐시에서 가져올 수 있..