최근에 프론트 엔드 JS 파일을 병합하는 방법에 대해 생각하고 있습니다. 물론 병합 할 수없는 파일이 포함되어 있지 않고 병합 할 수있는 파일이 포함되어 있습니다. 그것에 대해 생각한 후에는 세 가지 방법 만 있어야합니다.
세 가지 방법은 다음과 같습니다.
1. 큰 파일, 모든 JS는 하나의 큰 파일로 병합되고 모든 페이지는이를 참조합니다.
2. 각 페이지는 큰 파일이며 각 페이지는 자신의 js의 큰 파일을 생성하기 위해 병합됩니다.
3. 여러 공유 대형 파일을 병합하고 연습에 따라 여러 공유 JS 파일을 병합하며 각 페이지는 여러 공유 큰 파일을 나타냅니다.
또한 제 생각에는 Merge는 다음과 같은 두 가지 목적을 가지고 있습니다.
1. 요청 수를 줄입니다.
2. 코드 보안 고려 사항 (더 많은 파일이 나뉘어 질수록 명확하게 볼 수 있습니다).
추신 : 내가 말하는 것은 압축 혼란이 아니라 합병
1. 큰 파일
이러한 방식은 상황에 관계없이 모든 JS를 큰 파일로 병합하는 것이며 일부 코드를 사용하지 않더라도 모든 페이지는이를 참조합니다.
이점:
(1). 병합하기가 간단하고 사용하기 쉽습니다.
(2). 캐시 최적화를 사용하여 다른 페이지를로드 할 수 있습니다.
결점:
(1). 페이지는이 페이지에서 사용되지 않은 코드로로드 될 수 있습니다.
적용 가능한 시나리오 :
(1). 이 방법은 대규모 웹 애플리케이션에 적합하지 않으며 단일 파일 코드의 양에 관계없이 비즈니스의 복잡성으로 인해이 작업을 수행 할 수 없습니다 (웹 사이트를 본 적이 없습니다).
해당 시나리오 :
(1). 하이브리드 응용 프로그램은 모바일 하이브리드 애플리케이션이든 PC의 하이브리드 애플리케이션 (YouDAO 팀 개발 프레임 워크 HEX+Chromium+NodeJS와 유사한 데스크탑 응용 프로그램)이든 매우 적합하며 요청 속도 문제가 없습니다. 클라이언트 코드에 위치한 이러한 응용 프로그램의 코드 보안이 더 중요합니다.
추신 : 물론 가장 중요한 것은 백엔드의 보안입니다. 프론트 엔드가 갈라 졌는지, 백엔드가 입력 검증을 개선하는지 여부와 권위의 오버 리치를 방지하는지 여부에 관계없이 백엔드가 핵심이며, 이는 "사용자의 입력을 신뢰하지 않는다"는 것을 의미합니다.
2. 각 페이지의 큰 파일
각 페이지를 병합하여 자신의 JS의 큰 파일을 생성하고 여러 JS 병합을 생성합니다.
이점:
(1). 각 페이지는 가장 정확한 JS를 사용하며 관련없는 코드가 없습니다.
결점:
(1). 많은 페이지가 있으며, 여러 JS가 생성되어 공통 JS 코드에서 많은 양의 중복성이 생깁니다.
(2). 캐시 최적화를 사용하여 공유 부품을로드 할 수 없습니다.
(3). 병합 및 사용은 비교적 복잡합니다.
나는 항상이 방법으로 뭔가 잘못되었다고 생각합니다. 소형 애플리케이션은 큰 파일로 직접 처리 할 수 있으며 대규모 응용 프로그램은이 작업을 수행하지 않으며 하이브리드 응용 프로그램에서 사용할 수 없습니다. 이 경우 설치 패키지 크기가 중요한 경우 중복 코드를 허용 할 수 없습니다. 다양한 시나리오에 대해 생각할 때 상기 또는 아래의 방법을 사용하여 해결할 수 있다는 것을 알았 으므로이 방법은 쓸모가 없다고 생각합니다.
3. 여러 공유 큰 파일을 병합하십시오
Practice에 따르면, 다중 공유 대형 파일 (예 : 종속성 라이브러리 분류)을 병합하고 필요한 JS 파일 (예 : 비즈니스 분류)을 병합하면 각 페이지는 하나 이상의 공유 된 큰 파일 과이 페이지의 JS 파일을 나타냅니다.
이점:
(1). 공유 부품이로드되고 각 페이지에 대한 참조는 이중화없이 가능한 한 높습니다.
결점:
(1). 원치 않는 코드를 참조 할 특정 페이지가 다르고 공유는 완전히 공유가 아닙니다.
해당 시나리오 :
(1). 크고 작은 응용 프로그램이 모두 더 적합합니다. 각 페이지에는 많은 공통 부분이있을 수 있으며 합리적인 파일 병합이 매우 중요합니다.
요약
이 문서는 단지 생각 일뿐 아니라 일반적인 토론 일뿐입니다. 파일 병합에 대한 많은 방법이 있으며,이 방법은 백엔드에 의해 동적으로 생성되거나 도구 (Grunt+InquessJS)에 의해 직접 생성됩니다. 위의 세 가지 병합 방법은 우리의 실제 요구에 의해 결정됩니다.
병합은 매우 중요하지만 모든 문서를 병합하는 것이 좋습니다. 일부 문서는 병합 될 수 없습니다. 일부는 개별 문서에 더 좋지만 특정 시나리오에 따라 다릅니다.
프론트 엔드 JS 파일을 병합하는 위의 세 가지 방법은 내가 공유하는 모든 콘텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.