하하 오늘은 월요일
오늘은 😪이상태로 강의 듣다가 개인 과제 해설이 올라와서 그걸 보고 코드를 좀 수정해보기로 한다.
1. 기본적인 prettier 설정
아무리 vs 코드의 prettier 설정이 잘 들어가 있더라해도 .prettierrc 파일의 설정을 우선시해주므로 .prettierrc 파일을 만들어 두는 게 좋다.
{
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"bracketSpacing": true,
"trailingComma": "none"
}
2. reset css 파일
모든 브라우저에서 일관된 기본 스타일을 적용해준다.
++ 그치만 사용하면 폰트가 제대로 적용이 안 돼서 일단 주석처리 해뒀다
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
3. 모듈
코드를 재사용 가능한 단위로 만드는 방법이다.
이를 통해 전체 코드 베이스를 유지 보수하기 쉽고, 모듈 간의 의존성을 관리할 수 있다.
= 긴 파일을 여러 개로 쪼개 관리하는 방법이다.
사진이 훨씬 이해하기 쉽다
3-1) export, import 사용해서 자바스크립트 파일 모듈화
export 키워드는 js 파일 안에서 외부로 공개하고자 하는 함수, 변수, 클래스를 지정할 수 있다.
import 키워드는 반대로 외부 파일에서 가져오는 데 사용한다.
즉, html 파일에서 js 코드가 쓰인다면, js 파일을 꺼내 따로 저장한 뒤(main.js) 연결한다.
그 다음 main.js 파일에서 분리해 math.js 파일을 만든다.
math.js 내부에 있는 함수는 export 키워드를 통해 외부로 내보낸다. -> export const div = (a, b) => a / b;
main.js 파일에서는 외부의 math.js 파일의 함수들을 import 키워드를 통해 가져온다. -> import {div} from "./math.j";
이때, 에러가 뜬다면 html script 태그 내부에 type="module"을 추가해줘야 한다.
++ 제대로 적용이 안 되는 것 같다. 일단 빼뒀다.
<!-- index.html -->
<script type="module" src="./modules/main.js"></script>
* default export vs named export
1. default export는 모듈 안에서 하나의 값을 외부로 공개한다.
const Name = () => {
}
export default Name
//other file
//아무 이름으로 import 가능
import newName from "name.js"
import NameFromOtherModule from "name.js"
2. named export는 하나의 모듈 안에서 여러 개의 값을 공개할 수 있다.
export const Name1 = () => {
}
export const Name2 = () => {
}
//other file
import {Name1, Name2} from "name.js"
//다른 이름으로 가져오기
import {Name1 as newName, Name2} from "name.js"
//default export처럼 가져오려면 *사용
import * as NameModule from "name.js"
* 항상 엄격 모드로 실행되고, 지연 실행된다.
4. 시멘틱 태그 사용
알고는 있었는데... 뒤늦게 header 태그를 추가했다.
** 5. 검색창에 아무것도 입력하지 않았을 경우 alert창 뜨게 하기
** 6. 이미지 클릭했을 때만 movie id 뜨게 하기
5, 6번은 튜터님이 먼저 작성한 코드를 먼저 보신 후에 수정하는 게 좋을 것 같아 내일 하기로...
'CSS' 카테고리의 다른 글
css 총정리 2 (0) | 2024.05.08 |
---|---|
css 총정리 1 (0) | 2024.05.07 |
css 정리 (0) | 2024.04.22 |
정렬 - flex, text (0) | 2024.04.16 |