프레젠테이션 주소 https://github.com/wszgrcy/ng-cli-plugin-demo 잠금 해제 가능한 기술
분체식 루트 로드
정상적인 상황에서 동적 불러오는 루트라도 프로젝트와 함께 포장하는 것은 단지 두 개의 파일로 포장하는 것에 불과하다 주체 프로젝트는 먼저 포장한 후에 단독으로 게으른 로드 루트 모듈을 개발한다
웹-component의 사용률 상승
ng는 이미 이것을 실현했지만 매번 큰 가방을 싸면 단독 프로젝트를 한 셈이다. 매우 방대하다. dll을 사용하면 무서운 수준으로 줄어들고 부작용은 0에 가깝다 현재 존재하는 문제
자원 명세서가 출력하는 것은 전량의 인용이지만, 실제로는 모드:'full'때만 등가이다
수정하지 않은 것 중 하나는 주로 영향이 크지 않은 데다가 디버깅 수요도 있다
dll을 생성하는 프로젝트에 동적 로드 모듈이 있으면 알 수 없는 영향이 있을 수 있습니다.
dll은 디자인할 때 동적 모듈 같은 것을 전혀 고려하지 않았다. 완전히 큰 가방만 싸는 것이다 가능한 한 빈 항목으로 dll 생성
auto는 현재 생성된 프로젝트가 완전한 인용에 도달할 수 있음을 나타낸다. 프로젝트를 수정하면 프로젝트를 다시 구축해야 한다(액. 폐기물로 보이는 모델)
사실 프로젝트 코드가 충분하면(각종 종류) 코드 수정은 영향을 주지 않지만, 예를 들어 일부 도입이 처음 사용되거나 html 템플릿에서 새로운 것을 사용했기 때문에 다시 구축해야 한다 개선을 기다리다 영원히 사용할 수 없는 일부 내보내기를 자발적으로 배제하다 왜 dll이 직접 포장보다 커요?
dll포장은 현재 ng의 aot, 나무 흔들기 등 관련 최적화 기술을 사용하고 있지만 치명적인 문제가 있다. 바로 유명해지는 것이다. 기본적으로 포장할 때 모든 이름이 최적화(혼동)되고 dll포장은 반드시 이 이름을 노출해야 한다. 완전히 노출되면 부피가 증가한다.
현재 빈 프로젝트로 생성된 dll(rxjs,router,common,core 포함), 전량 폭력은 440k(즉 다른 가방을 사용할 때 이 파일들은 dll에서 찾을 수 있음), 선택적 내보내기는 216k 작용을 최소화하고 최종적으로 평균 300k 정도로 추정된다
현재 사용 중인 기술은 1.전체 내보내기, 2.사용 가능한 내보내기를 선택하면 부작용이 있습니다. 전체 내보내기 시.사용하지 않는 의존이 도출되었을 뿐만 아니라, 내부 인용도 있었다. (예를 들어ɵangular_packages_core_core_h)도 강제로 내보내져 가방 크기를 증가시켰다
후기에는 사실상 영원히 내보내지 않는 목록을 정리하여 배제함으로써 부피를 줄일 수 있다
전통적인 포장은 여러 모듈이 한 모듈을 포장하는데 중간에 많은 의존이 내부 의존에 속하기 때문에 많은 코드를 간소화했다. dll의 이런 포장은 여러 모듈에 속하기 때문에 각 모듈은 출구가 있고 인용도 사용하는 모듈 간의 인용이기 때문에 dll을 최소화해도 포장한 것보다 40k 정도가 많다
총결산 이쯤에서angular 공유 의존 솔루션에 관한 글을 소개합니다. 더 많은 angular 공유 의존 해결 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: