[Node.js] TypeScript 와 Express
·
Node.js/실험실
이번에는 타입스크립트와 Express를 함께 세팅하는 방법을 정리하고자 한다. Express 프로젝트 생성 npm install -g express-generator 직접 Express를 구성해도 상관없지만, express-generator를 사용하면 간단하게 환경 구성이 가능하기 때문에 사용한다! 패키지 설치 npm install --save-dev nodemon 코드를 작성하면 바로바로 변경사항을 적용하기 위해서 nodemon을 사용한다. npm install --save-dev @types/node @types/express @types/morgan @types/debug @types/cookie-parser @types/http-errors ts-node typescript @types/node ..
[Node.js] Sequelize is not associated
·
Node.js/버그
시퀄라이즈를 사용하고 있는 어느날,,,, join을 위해서 include 옵션을 findAll에 주었다. 하지만! product와 product_img가 서로 모르는 친구들이라고 한다... 분명 나는 squelize auto를 사용해서 init-models.js가 자동으로 만들어지고 그곳에서 잘 설정이 되어있다... 구글에 검색을 해봐도 외국인형들도 답을 주지 않은 상황!! 과감한 결단을 하였다. fs.readdirSync(__dirname) .filter((file) => { return ( file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js" ); }) .forEach((file) => { const model = requi..
[Node.js] Express ORM 세팅해보기
·
Node.js/실험실
설치 npm install mysql2 sequelize sequelize-cli mysql2는 node와 mysql의 연결을 위해서 사용하는 패키지 sequelize는 ORM을 이용해서 데이터베이스를 다룰 수 있는 패키지 sequelize-cli는 데이터베이스 작업을 sequelize와 연동해서 터미널에서 수행하게 해주는 패키지 초기화 npx sequelize init 초기 세팅을 위해서 사용하는 패키지 config/config.json models/ migrations/ seeders/ 4개의 디렉토리가 만들어진다. config/config.json 우선 json 파일이면 env로 설정을 불러오지 못한다. 그러므로 간단하게 수정을 한다. // config/config.js require("dotenv..
[Node.js] Express에 Webpack 구현하기
·
Node.js/실험실
0. 준비사항 본인은 프로젝트를 구성할 때 express-generator를 사용하기 때문에 먼저 설치를 해야한다. npm i -g express-generator express-generator는 자동으로 express 환경울 구성해주는 멋진 도구이다. 1. npm 프로젝트 생성 // express 프로젝트명 --view=템플릿 express webpackProject --view=ejs cd webpackProject npm i express-generator를 설치하면 express 명령어를 사용할 수 있는데, 원하는 프로젝트명을 입력하고 원하는 템플릿을 입력해주면 된다. 템플릿에는 pug, ejs 등이 있는데, 본인은 pug알못이기 때문에 ejs를 사용해서 설치했다. 명령어를 실행하면 위와 같이 ..
[Node.js] Express set "views"
·
Node.js/실험실
Express 환경에서 webpack을 적용할 때 app.use(express.static(path.resolve(__dirname, "public"))); 이렇게 설정 해주었다. 그리고 views는 app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); 같이 설정했다. 그다음에 프로젝트를 실행하고 localhost:3000으로 접속하니 /views 폴더에 있는 index.ejs가 실행되는 것이 아닌 /public에 있는 index.html이 실행되는 것이였다. 왜그런지 고민해봤는데, app.use(express.static(path.resolve(__dirname, "public"))); 설정에 경로가 해당 이름의 ..
[Node.js] Express html 템플릿
·
Node.js/기능
express-generator를 사용해서 Express 웹서버를 구현할 때 템플릿을 지정할 수 있다. 따로 설정하지 않으면 jade 형식으로 뷰가 구성되고, 특정 형식으로 템플릿을 지정하고 싶다면 express --ejs 앱이름 같이 --버전 을 옵션으로 같이 주면 된다. 그런데 우리에게 가장 친숙한 Html을 템플릿으로 사용하려면 어떻게 해야할까? // ... app.engine("html", require("ejs").renderFile); app.set("view engine", "html"); // ... app.engine("html", require("ejs").renderFile); 부분은 express-generator를 사용했을 때 자동으로 생기는 것이 아니라 따로 작성을 해야한다. h..
[Node.js] express-generator 사용해 환경 구성
·
Node.js/기능
1. express 설치 express 설치 npm install express -g global 옵션을 사용해서 어느 경로에서든 express를 사용할 수 있게 한다. express-generator 설치 npm install express-generator -g express 환경을 구성해주는 express-generator를 설치한다. 마찬가지로 전역에 설치하기 때문에 어디서든 사용할 수 있다. 2. 프로젝트 생성 express 앱이름 express 명령어를 사용해서 원하는 nodejs 프로젝트명을 입력한다. 기본적으로 생성되는 프로젝트는 jade 형식으로 뷰가 구성된다. express --view-ejs 앱이름 만약 ejs 형식으로 프로젝트를 만들고 싶다면 --view-ejs 옵션을 사용해서 변경..