0. Bundler 란?
프로젝트를 진행하다보면 여러가지 패키지를 설치하게 되는데 이런 패키지들은 개발할때만 사용되고 최종적으로 컴파일 후에는 html, css, javascript 파일만 남아야 한다. 때문에 이런 패키지들을 html, css, javascript 로 변환시켜 주는것이 번들러의 역할이다.
번들러가 모든 패키지들을 변환시킬 수 있는 것은 아니다. 예로 SCSS 를 설치하면 SASS 로 변환을 하는데 따로 설치할 필요는 없고 SCSS 를 설치할 때 같이 설치된다. 그리고 번들러는 이 설치된 SASS 를 통하여 변환을 시켜주는 역할을 하는 것이다.
그 중 Parcel 은 구성 없는 단순한 자동 번들링이 지원되어 소/중형 프로젝트에 적합한 번들러이다.
1. 설치 방법
npm i -D parcel-bundler
개발용 패키지이기 때문에 -D 옵션을 넣는다.
2. 명령어 설정
package.json 에 script 부분에 명령어를 추가한다.
// ...
"scripts": {
"dev": "parcel index.html",
"build": "parcel build index.html"
},
// ...
- npm run dev : 개발용 서버 오픈시
- npm run build : 빌드시 사용
3. 추가로 설치하면 좋은 패키지
⭐️ parcel-plugin-static-files-copy
npm install -D parcel-plugin-static-files-copy
개발을 진행하면서 favicon.ico 같은 파일들을 dist 폴더에 직접 넣어주지 않고 static folder 를 설정하면 그 폴더 내의 파일들을 dist 폴더로 넣어주는 역할을 해준다.
// package.json
"staticFiles": {
"staticPath": "static"
}
⭐️ postcss & autoprefixer
개발자도구로 웹 스타일 탭을 보다보면 webkit 나 ms 가 붙은 속성을 볼 수 있다. 이런 속성들은 ms 같은 공급업체에서 시험적으로 볼 수 있도록 브라우저에서 제공하는 공급 업체 접두사(Vender Prefix)이다. ( 표준 기술을 사용하지 않는 구형 브라우저를 사용하는 경우에 필요할 수 있다 )
시험적이라는 말은 표준 기술이 아니라는 뜻이다. 때문에 이를 일일이 외우거나 찾아보며 입력하긴 힘들기 때문에 postcss, autoperefixer 패키지를 이용하여 자동으로 연결해주도록 한다.
1. 패키지 설치
npm install -D postcss autoprefixer
2. package.json 설정
// package.json
"browserslist": [
"> 1%", // 점유율이 1% 이상인 모든 브라우저 대상
"last 2 versions" // 최근 2버전 까지
]
3. postcssrc.js 설정
그리고 프로젝트 루트 경로에 .postcssrc.js 파일을 추가해준다.
ESM 이 아닌 CommonJS 방식으로 작성한다.(node.js 처럼)
module.exports = {
plugins: [
require('autoprefixer')
]
}
❗️설치후 npm run dev 를 입력하면 (아마도)에러가 생길 것이다
이 에러는 autoprefixer 와 postcss 의 버전이 충돌이 생기는 에러기 때문에 postcss 버전에 맞추어 autoprefixer 의 버전을 호환이 되는 버전으로 다운그레이드 시켜주면 된다
npm i -D autoprefixer@9
=>설치 방법개발용 패키지이기 때문에 -D 옵션을 넣는다
'웹공부' 카테고리의 다른 글
Next.js 튜토리얼 따라하기 - 1 (설치, 라우팅, Assets) (0) | 2022.03.21 |
---|---|
웹크롤러, 검색과 SEO (0) | 2022.03.01 |
socket.IO 를 이용한 채팅 사이트 만들기 - 1 (0) | 2021.10.15 |
유의적 버전 (SemVer, Semantic Versioning) (0) | 2021.10.14 |
npm 시작하기 - 2 (0) | 2021.10.14 |