실패는 시도하지 않는 것보다 낫다
4140 단어 watercoolerbeginners
주말마다 시간을 할애하여 어디에서 더 최적화할 수 있는지 알아보려고 합니다.
이번 주말에는 CSS 로딩이 전부였습니다.
이미 꽤 최적화되어 있고 내가 생각할 수 있는 항목은 두 개뿐이었습니다.
페이지별 로드
안타깝게도 Astro의 Tailwind에서는 하나의 일반 출력 CSS를 사용하므로 지원되지 않습니다.
내 웹사이트의 경우 게시물 페이지에는 홈페이지에 비해 몇 줄의 추가 CSS만 있기 때문에 큰 차이가 없습니다.
그러나 여전히 더 많이 사용되는 것을 최적화할 수 있는 방법을 찾고 있습니다.
결론: 빠른 승리를 위해 최적화할 것이 없습니다. 더 많은 연구가 필요합니다.
스타일시트 미리 로드
이것이 도움이 될지는 모르겠지만
rel="preload"
링크를 추가하여 기본 스타일시트를 중요하다고 선언할 수 있습니다.이것은 페이지가 가장 우선 순위로 이것을 가져와야 함을 나타냅니다.
시도하기는 쉬울 것 같았지만 많은 연구와 시도가 필요했습니다.
Astro 문서를 검토한 결과
?url
매개변수를 추가하여 일반 URL로 스타일시트를 로드할 수 있다는 것을 알았습니다.그런 다음 다음과 같이 직접 로드할 수 있습니다.
---
import stylesUrl from '../styles/main.css?url';
---
<link rel="preload" href={stylesUrl} as="style">
<link rel="stylesheet" href={stylesUrl}>
dev 버전은 완벽하게 작동했지만 이것을 빌드로 출력하려고 시도했고 전체 CSS 파일을 base64로 인코딩한 것을 확인했습니다.
이것이 발생할 수 있다는 문서에 문서화되어 있으며 이 Vite 구성을 비활성화해야 합니다.
내
astro.config.mjs
파일에 다음을 추가했습니다.export default defineConfig({
vite: {
build: {
assetsInlineLimit: 0,
},
},
});
빌드 출력을 다시 실행하고 다음과 같이 컴파일된 CSS로 끝났습니다.
@tailwind base;
@tailwind components;
@tailwind utilities;
.some-of-my-custom-css {
// ...
}
아, Tailwind가 현재 처리되지 않았기 때문에 제가 원했던 것이 아닙니다.
옵션 3에 대한 기존 빌드 컴파일 CSS 파일 중 하나를 가져와 내 프로젝트에 넣었습니다.
Note: My CSS doesn't ever change, so that it could be a viable option.
이 CSS 파일을 로드하도록 가져오기를 변경했습니다.
얼마나 빨리 로드되는지 확인하기 위해 열심히 테스트를 다시 시도했습니다.
실망스럽게도 뒤로 물러났습니다. 이제 첫 번째 바이트를 로드하는 데 또 다른 2ms가 더 걸렸습니다.
따라서 CSS 최적화를 사용하여 드로잉 보드로 돌아갑니다.
결론
때로는 예상대로 작동하지 않는 작업에 많은 노력을 기울였을 수 있습니다.
그것은 완전히 괜찮고 모든 사람에게 발생합니다.
적어도 당신은 무언가를 배웠고 그것을 시도했습니다.
나는 일반적으로 실패한 실험에 대해 많이 쓰지 않지만 첫 번째 시도에서 무언가가 작동하지 않을 때 다른 사람들이 기분 나쁘게 생각하지 않는 데 도움이 될 것이라고 생각했습니다.
읽어주셔서 감사합니다. 연결합시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(실패는 시도하지 않는 것보다 낫다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/failing-is-better-than-not-trying-199c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)