목록nodejs (20)
바르고 뜨겁게
AWS Lightsail - Nodejs + mySql 배포1. cross-env 설치동적으로 process.env 변경 (개발 환경과 로컬 환경 분리) npm i -g cress-env && npm i cross-envpackage.json "scripts":{ "start": "cross-env NODE_ENV=production PORT=80 node ./bin/www", "dev": "node ./bin/www" } // start 에선 process.env.NODE_ENV 를 production 으로 변경하고 있음 // 변경하는 env 값은 app.js 에서 사용중 // 포트도 80 으로 변경 npm start // 배포환경 npm run dev // 개발 환경2. pm2 설치에러로 서버가 ..
express 프레임워크 기반 node js 서버 세팅express 패키지 전역 설치npm -i -g express-generator express 프레임워크 기반 워크스페이스 폴더 생성express [폴더명] --view=[뷰엔진] express 실행에 필요한 패키지 설치cd [폴더명] npm i 서버 실행// package.json 파일내에 scripts(사용자 정의 명령어) 안에 있는 // start 에 의해 npm run start로 실행가능 (run 생략가능) npm run start
초보 코더의 풀스택 개발환경 입니다. * 디자인 : Photoshop* Server : AWS Lightsail (Linux)* DB : MySQL* Back-end : nodeJS ( IDE - Visual Studio Code )* 플랫폼 : Android ( IDE - Android Studio 3.2.1 )
multer 이미지 업로드npm i multerhtml이미지를 업로드하기 위해서는 form에 아래와같이 enctype 속성을 추가해야된다.post.jsstoragemulter.diskStorage : 로컬에 저장destination(req, file, callback) : 파일 저장 경로 지정filename(req, file, callback) : 파일 이름 지정const express = require('express'); const multer = require('multer'); const path = require('path'); const router = express.Router(); const upload = multer({ storage: multer.diskStorage({ des..
노드 보안 처리 dotenv dot(.) + env.env 파일에 키=값 형식으로 비밀번호 저장npm i dotenvroot 폴더에 .env 파일을 생성한다..envCOOKIE_SECRET=secretpassword PORT=8001app.js// process.env에 .env의 내용이 들어간다. require('dotenv').config(); // .env는 아래처럼 불러올수있다. app.set('port', process.env.PORT || 8001); ... process.env.COOKIE_SECRET
노드 보안 처리 dotenv dot(.) + env.env 파일에 키=값 형식으로 비밀번호 저장npm i dotenv root 폴더에 .env 파일을 생성한다..envCOOKIE_SECRET=secretpassword PORT=8001app.js// process.env에 .env의 내용이 들어간다. require('dotenv').config(); // .env는 아래처럼 불러올수있다. app.set('port', process.env.PORT || 8001); ... process.env.COOKIE_SECRET
시퀄라이즈(sequelize)SQL문법 대신 JavaScript로 대체할 수 있는 ORMnpm i sequelize mysql2 // 시퀄라이즈는 명령프롬프트에서 바로 사용하는 방식(커맨드라인인터페이스)을 지원함 npm i -g sequelize-cli // 시퀄라이즈 환경 초기화 sequelize init데이터베이스 스키마 생성sequelize db:createmodels/index.js 시퀄라이즈의 메인 파일models/ 아래 자바스크립트들은 테이블과 1:1 대응된다 config/config.json 시퀄라이즈 설정 파일 시퀄라이즈로 데이터베이스 만들기시퀄라이즈 설정config/config.json{ "development": { "username": "root", "password": "12..
템플릿 뷰 엔진 PUG html 대신에 다른 템플릿 엔진을 사용할 수 있다.PUG pug는 들여쓰기로 부모,자식 태그를 구분한다. 들여쓰기는 탭/스페이스 상관없지만 하나로 통일해야 함. express (폴더명) --view=pug npm i npm install --save express jade pug변수선언프론트 (.pug) 에서 - 선언 후 자바스크립트로 변수 선언가능렌더링시에 선언 가능router.get('/',(req,res,next)=>{ console.log('세번째 미들웨어'); res.render('test',{ title3: '렌더링 변수', title4: '추가', }); });app.js app.engine('pug', require('pug').__express); app.set(..
express - app.js 요청(req) >> 미들웨어(app.use 형태) >> 응답(res) next() 도 하지않고 res응답도 하지 않으면 클라이언트는 무한정으로 기다린다.라우터기능app.js는 쉽게말하면 중앙 통제를 하는 파일로, 라우터들을 연결한다.app.get('/users', (req,res)=>{ res.send('유저 정보'); }); ...익스프레스 설정, 값 저장app.set미들웨어(middleware) 장착app.use : 모든경우 적용 / app.get app.post ... : 특수한 경우 적용app.use안의 req, res로 요청과 응답을 조작할 수 있다. req, res는 모든 미들웨어를 차례대로 거쳐간다다음 미들웨어로 넘어가기 위해선 next() 를 호출하거나 r..
npm 명령어npm outdated : 패키지이름, 현재버전, 최신버전 등을 알려준다.npm update (패키지이름) : 패키지 업데이트 실행 (마이너랑 패치버전까지만)npm remove (패키지이름) : 제거 remove > re 단축가능npm search (검색어) : 어떤 패키지들이 있는지 검색가능(온라인)npm info (패키지이름) : 패키지 정보 확인 (온라인)npm ls (패키지이름) : 내 패키지에서 검색한 패키지가 어떤 디펜던시에 의해 설치되었는지 알 수 있다.npm version (버전) : 패키지 버전 전체 변경npm version patch : 패키지의 패치버전 한단계 올림npm version minor : 패키지의 마이너버전 한단계 올림 ( 패치는 초기화 )npm version ..