hugo pipes parcel
1.0.0
이 저장소는 자산 파이프라인을 시연하는 데에만 관심이 있으며 완전한 시작으로 간주되지는 않습니다. 원하는 대로 하세요. 하지만 여기에 있는 모든 내용은 내부 작업 흐름을 위해 설계되었다는 점을 명심하세요.
우리는 모든 프로젝트에 Changelog를 사용합니다. 업데이트는 해당 파일을 참조하세요.
require
으로 로컬에서 OS 글꼴 로드) 이 설정은 Javascript 및 오픈 소스 글꼴 처리를 위해 Parcel을, CSS 처리를 위해 Hugo Pipes + PostCSS를, 그리고 Parcel과 Hugo를 병렬로 실행하기 위해 npm-run-all
활용합니다(아래 참고 참조). 우리는 Yarn 패키지 관리자를 사용하지만 원한다면 NPM을 사용할 수도 있습니다.
이 자산 파이프라인은 Webpack을 사용하여 JS/Fonts/CSS를 처리하는 전환입니다. Parcel은 Webpack과 같은 번들러이지만 유연성이 약간 떨어지는 대신 구성과 파일 공간이 더 작고 빌드 속도가 더 빠릅니다. 실제로 Parcel 구성 파일은 없습니다. Hugo를 사용하여 CSS를 구축하는 방식으로 전환하면 Hugo 사이트를 외부 빌드 프로세스 외부에서 개발할 수 있습니다. 아래에 설명된 대로 이 접근 방식에는 단점이 있습니다.
package.json
의 스크립트에는 일부 시스템(Windows 아님)의 경우 선택 사항이며 안전하게 제거할 수 있는 cross-env
통한 환경 변수 로드가 포함되어 있습니다. cross-env NODE_ENV=development
NODE_ENV=development
로 바꾸세요. assets/output/index.js
로 출력됩니다.fileExists "./assets/output/index.js
인 경우 Hugo는 layouts/_head/scripts.html
에서 해당 파일의 해시를 생성합니다.public/output/index.min.[hash].js
로 출력합니다. assets/postcss.config.js
로 assets/css/styles.css
처리합니다.NODE_ENV=development
빌드 명령에 있으면 PostCSS는 PurgeCSS를 통해 파일을 처리하지 않습니다.public/css/styles.min.[hash].css
에 출력합니다.assets/postcss.config.js
사용하여 assets/css/styles.css
처리합니다.NODE_ENV=development
빌드 명령에 있으면 PostCSS는 PurgeCSS를 통해 파일을 처리하지 않습니다.assets/output/index.[hash].css
로 출력합니다. assets/output/index.css
에 출력하고 해시된 글꼴 파일도 동일한 디렉터리에 저장합니다.fileExists "./assets/output/index.css
인 경우 Hugo는 layouts/_head/stylesheets.html
에서 프리페치 링크를 생성합니다.public/output/index.min.[hash].css
및 public/output/font-name.[hash].woff[2]
출력합니다. assets/index.js
에서 기본 CSS 파일을 제거합니다.layouts/_head/stylesheets.html
변경합니다(해당 파일의 주석 참조).