"차등 로딩"- Angular CLI v8의 새로운 기능
3463 단어 angularcliangularjavascript
TL; DR
browserslist
구성의 브라우저 지원 범위를 이해합니다. browserslist
는 진실의 단일 소스이므로 es5BrowserSupport
는 더 이상 사용되지 않습니다. Angular CLI v8(현재 beta.15)은 "Differential Loading"이라는 새로운 기능을 제공합니다. 이를 통해 애플리케이션의 브라우저 호환성을 고려하지 않아도 됩니다.
CLI는 앱이 지원해야 하는 브라우저를 이해할 수 있으며 ES5 브라우저와 그렇지 않은 브라우저에 대해 서로 다른 번들을 만들 수 있습니다.
사용하는 방법
차등 로드를 활성화하려면 앱에
browserslist
구성이 있어야 합니다. package.json
또는 browserslist
파일에 배치할 수 있습니다. 이 구성은 이미 postcss의 autoprefixer 프로세스에서 사용되었습니다. CLI에서 최근에 만든 앱에는 이를 포함해야 하며 프로젝트에서 찾을 수 있습니다.browserslist/browserslist
지금 가지고 있지 않아도 online demo 으로 쉽게 만들 수 있습니다. Angular CLI는
browserslist
파일이 package.json
와 동일한 디렉토리에 있는 경우 조회할 수 있습니다.준비 끝! tsconfig의 대상이
browserslist
에 의해 결정된 브라우저 범위를 벗어나면 Angular CLI가 번들을 분리합니다. 하나는 원래 대상용이고 다른 하나는 ES5 브라우저용입니다.예를 들어 Chrome과 IE 11의 최신 2개 버전을 지원합시다.
browserslist
는 다음과 같습니다.last 2 Chrome versions, IE 11
그리고
tsconfig.json
는 아래와 같습니다.{
"compilerOptions": {
"target": "es2015",
...
}
}
아시다시피 IE11은 ES5 브라우저입니다. 따라서 차동 로딩이 없으면 이 애플리케이션은 화살표 기능,
es2015
등과 같은 누락된 class
기능으로 인해 IE11에서 오류를 발생시킵니다.차동 로딩을 사용하면 Angular CLI는 이 문제를 미리 이해합니다. CLI는 앱이 ES5 브라우저를 지원해야 하는지 여부를 판단하고 현재 tsconfig의 대상이 이를 지원할 수 있는지 확인합니다.
일치하지 않는 경우 모든 번들은
main-es5.bundle.js
및 main-es2015.bundle.js
와 같이 분리됩니다.그런 다음 ES5 번들에 대한
<script>
태그가 nomodule
속성으로 배치됩니다. ES5가 아닌 브라우저에서 ES5 번들을 로드하는 것을 방지합니다. 결과적으로 최신 브라우저에서 사용자는 브라우저에 필요한 작은 번들만 로드합니다. 로딩 성능을 향상시킬 수 있습니다.es5BrowserSupport 옵션은 어떻습니까?
예, Angular CLI v7.3에는 차동 로딩과 같은 기능이 추가되었지만 폴리필 전용입니다.
es5BrowserSupport
에서 angular.json
옵션을 사용합니다.5 Angular CLI Features You Didn't Know About
Angular CLI v8 이후에는 CSS용
browserslist
과 JavaScript용 es5BrowserSupport
모두에서 지원 브라우저를 관리하는 것이 간단하지 않기 때문에 더 이상 사용되지 않습니다. 따라서 CLI 팀은 browserslist
를 애플리케이션이 ES5 브라우저를 지원해야 하는지 여부를 판단하기 위한 단일 진실 소스로 채택합니다.결론
browserslist
를 사용하여 애플리케이션이 ES5 브라우저를 지원해야 하는지 판단합니다. 이 기능을 사용해 보려면 다음 명령을 사용하여 애플리케이션을 만들어 보겠습니다.
$ npx @angular/cli@next new example-app
$ cd example-app
$ npm run build
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여("차등 로딩"- Angular CLI v8의 새로운 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lacolaco/differential-loading-a-new-feature-of-angular-cli-v8-4jl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)