반응형
mongoose
설치
npm i mongoose --save
사용
// 단일 DB연결 var mongoose = require('mongoose'); // mongoose 5 버전이상 사용시 { useNewUrlParser } 가 없으면 경고메세지가 뜸. mongoose.connect('mongodb://localhost/goormdb', { useNewUrlParser });
단 하나의 DB만 사용할때만 유효. mongoose.connect() 재호출시 원래 연결은 끊김.
goormdb라는 db가 없으면 자동으로 생성됨.// 여러 DB 연결 var mongoose = require('mongoose'); var connection1 = mongoose.createConnection('mongodb://localhost/mydb1'); var connection2 = mongoose.createConnection('mongodb://localhost/mydb2');
#
uglifyjs
작성한 소스코드를 못생기게 만듬
기본
// 원문 function alert(message) { console.log(message); } let myName = 'Kim'; let myAge = 10; alert(`Hi, I'm ${myName}, ${myAge} yrs old`); //terminal uglifyjs test.js // 결과 function alert(message){console.log(message)}let myName="Kim";let myAge=10;alert(`Hi, I'm ${myName}, ${myAge} yrs old`);
옵션
// 변수명을 간단하게 변경 uglifyjs test.js -m // 결과 function alert(e){console.log(e)}let myName="Kim";let myAge=10;alert(`Hi, I'm ${myName}, ${myAge} yrs old`); // uglify를 적용한 결과를 파일(test.min.js)로 저장 uglifyjs test.js -o test.min.js -m
#
underscore
- underscore는 자바스크립트 함수의 빈약한 부분을 채워준다
- 참조 : https://underscorejs.org/#first
npm i underscore
- unserscore 모듈 import
var _ = require('underscore');
#
Express
설치
npm install express --save
서버 만들기
var express = require('express'); var app = express(); app.get('/', (req, res) => { res.send(`<a href="/login">Hello!!!!</a>`); }); app.get('/login', (req, res) => { res.send('Login plz!!!!!!'); }); app.listen(8080, () => { console.log('Connected 8080 port!'); })
static 폴더 지정
app.use(express.static(__dirname + '/static'))
해당 폴더내에 있는 파일들을 읽을 수 있게 해준다.
static 폴더 내에 'index.html'파일이 있으면 get('/')은 이 파일을 화면에 출력한다.
#
Jade (Templete Engine)
npm install jade --save
jade 파일 작성
html head title hello body h3 hello Jade! ul -for(var i = 0; i < 5; i++) li Hi! div= time
사용
app.set('view engine', 'jade'); // jade 사용 app.set('views', __dirname + '/views'); // jade 파일을 저장할 폴더 경로 app.locals.pretty = true; // 코드 prettier 사용 app.get('/template', (req, res) => { res.render('temp', { time: Date() }); // 두번째 인자로 넣는 객체 안에는 변수를 지정해 jade 파일 안에서 쓸 수 있다. }) // 클라이언트가 /template로 접속하면 ../views/temp.jade 를 출력한다.
html -> Jade 변환 사이트
http://html2jade.org/
#
nodemon
nodemon 은 코드 수정 후 서버를 수동으로 재시작 하지 않아도 바로 반영되게 해줌.
npm install -g nodemon
-g
는 현재 폴더 뿐만 아니라 다른 작업 폴더에서도 쓸 수 있게 해줌.(global)보안 오류가 뜨는 경우
Windows Powershell 관리자 권한 실행
> executionpolicy -> Resticted 라고 뜨면 > set-executionpolicy unrestricted
#
supervisor
설치
npm i supervisor --save
사용
supervisor server.js
server.js의 수정사항이 자동으로 반영되어 수동으로 재실행 할 필요가 없어진다
query string
쿼리 스트링이란?
query 객체 사용법
// express 문법 app.get('/num', (req, res) => { res.send(`your num : ${req.query.넘버}`); });
Semactic URL
url 주소를 간단하게
localhost/index.html?id=1 => localhost/1
app.get('/num/:n/:n2', (req, res) => { res.send(`your num2 : ${req.params.n}, ${req.params.n2}`); });
반응형
'Dev > NodeJS' 카테고리의 다른 글
[ JS ] 최적화 팁 & 성능 비교 글 모음 (0) | 2021.10.24 |
---|---|
[NodeJS] 기초 메모 (0) | 2021.07.22 |
[NodeJS] Error 메모 (0) | 2021.07.22 |
[NodeJs] npm (0) | 2021.07.22 |