오늘 학습 한 내용 정리!
/**node
export function func (){} === func 를 외부로 노출, import {func} from `./파일이름.js` === func를 다른파일에서 가져오기
여기서 "./" 는 같은 디렉토리 안에서 "../"는 상위 디렉토리에서 찾는것임. 상대적으로 봐야함.
export default는 딱 하나만. 혹은 하나씩 전부다 묶을경우는 괜찮음. 그대신 import * 들어오는값 from 식으로 사용.**/
/**router 클라이언트의 요청에 응답해주는
router.method(path, handler); method === ex) get post put patch delete, path ==== api 경로, handler response === true 면 실행되는 함수
**/
/**node 입문에서 yarn 했던 것들.
yarn init
"dotenv": "^16.4.0"
"express": "^4.18.2"
"mongoose": "^8.1.0"
"type": "module"
"joi": "^17.12.0"
**/
/**몽구스 커넥트 식
import mongoose from 'mongoose';
const connect = () => {
mongoose
.connect(process.env.mongooseUrl,{
dbName:process.env.dbName,
},
)
.then(() => console.log('MongoDB 연결에 성공하였습니다.'))
.catch((err) => console.log(`MongoDB 연결에 실패하였습니다. ${err}`));
};
mongoose.connection.on('error', (err) => {
console.error('MongoDB 연결 에러', err);
});
export default connect;
**/
/**조이스키마
import Joi from 'joi';
const shcema = Joi.object({
name:Joi.string().min(3).max(30).required(),
});
const user = {name : 'foo bar'} 테스트값
try{
const validation = await schema.validateAsync(user);
console.log('Valid Data!');
} catch(error) {
console.log(error.message); return res.status(400).json({errorMessage:errer.message})
그 외에 에러 return res.status(500).json({errorMessage: '서버에 에러가 발생하였습니다.'})
next(error); 에러값을 보냄으로써, 에러 처리 미들웨어로 들어갈 수 있게 만든다! 그렇게 넘기게 된 error는
**/
/** 에러 처리 미들웨어 "express"
app.use(err"여기에 오게된다",req,res,next) => {})
맨앞에 오면 자동으로 error로 처리
**/
/** 전체적인 흐름
app.js = 전체 어플리케이션의 시작. 미들웨어와 라우터 등록.
middlewares = 에러 핸들러, 로깅, 사용자 인증 등 관리.
routes = express.js의 라우터를 관리, API 경로 정의, 해당 경로에서 실행될 함수 관리.
schemas = mongoDB에서 mongoose의 스키마와 모델을 정의, 데이터구조와 데이터처리 메서드 관리.
assets = 프론트엔드 파일 서빙
**/
/**Prettier
yarn add prettier -D
.prett8ierrc.json파일 생성
{
"printWidth": 80, 한줄 최대 글자수
"tabWidth": 2, Tab에 대한 스페이스 수
"semi": true ;를 항상 붙인다
"singleQuote": true, 외따옴표를 쓸지 쌍 따옴표를 쓸지 사용
"trailingComma": "all" es5 아니면 none 추천, 마지막 줄 콤마
"arrpwParens": "always" 화살표 함수 괄호 사용
}
package.json에 "scripts": {
"format": "prettier --write *.js **/*.js"
},
이후 yarn run
**/