웹팩 포장 구성 및 설치 절차를 자세히 설명

소개

긴 프론트 엔드 개발 후, 관행의 많은의 출현은 복잡한 워크 플로우가 쉽게 여러 작은 파일로 정제 모듈 복잡한 절차를 만들 수있는 개발하게 처리 할 수 ​​있지만, 사용 강요하지 않습니다 웹팩 이 논문은 구체적으로 구성하고 패키지 설치하는 과정을 설명 웹팩 일부 모듈 식 접근 방식은,하지만 당신이 프로젝트를 통해 고통 액세스 권한을 부여하는 것은, 모든 모듈 식 접근 방식과 호환됩니다.

웹팩 개요

기본적으로 웹팩은  현대적인 자바 스크립트 응용 프로그램입니다 정적 포장 모듈 (모듈 Bundler를가) . 웹팩 응용 프로그램을 처리 할 때, 재귀 구성 종속성 그래프 (종속성 그래프) 각 모듈은 원하는 애플리케이션이 모든 모듈이 다음 중 하나 이상으로 패키지화 포함하고,  번들 .

어떤 네 가지 핵심 개념을 포함

  • 입구 (입구) 웹팩이 나타내는 모듈 표기 내부로 구성된다 종속성 그래프를 시작한다. 시작점 입구 후, 웹팩는 모듈 및 라이브러리 의존 (직접 및 간접) 항목의 출발점이되는 알아낼 것이다
  • 출력 (출력) : 출력이 생성 어디 웹팩에게  번들을 하고, 기본값 파일의 이름을 지정하는 방법 ./dist
  • 로더 (자체는 자바 스크립트를 이해 웹팩) 그 이외의 자바 스크립트 파일을 처리 할 웹팩 수하자
  • 플러그인 (플러그인) 플러그인은 태스크의 넓은 범위를 수행하기 위해 사용될 수있다. 플러그인의 범위는 포장 최적화 및 압축, 환경 변수를 재정의 할 수있는 모든 방법에서, 포함한다. 플러그인 인터페이스는 매우 강력하고 다양한 작업을 처리하는 데 사용할 수 있습니다.

다음과 같이 공식 웹 사이트를 통해도는 강력한 웹팩을 설명 할 수있다 :

포장 단계

다음으로, 세부 구성 및 자세한 절차 웹팩 설치 패키지

설치 Node.js를

블로그 포스트를 참조 할 수 있습니다 Node.js를 설치 자세한 단계 튜토리얼 (윈도우) , 쓰기는 여기에서 반복하지 않는다.

 글로벌 설치 웹팩

글로벌 -g 설치 및 제거하고 설치 웹팩 웹팩-CLI 인 CMD, 다음과 같이 설치 명령을 실행

NPM 설치 웹팩 웹팩-CLI -g

로컬 프로젝트 폴더 만들기

예 : "D : \ TestWebpack"로, 로컬 프로젝트 폴더 만들기는 CMD 명령 창은 각각 해당 디렉토리로 변경하려면 다음 명령을 입력

D는 :                  // D 드라이브의 전환 
CD를 D : \ TestWebpack // 변경 사항을 프로젝트 디렉토리에

로컬 설치 웹팩

로컬에 설치된 저장 데브 - 웹팩, 상기 프로젝트 디렉토리에 설치 다음 명령을 입력합니다

NPM 설치 웹팩 웹팩-CLI --save-DEV

보기 웹팩 버전

버전 번호가 나타나면 설치가 성공적으로 완료, 다음 명령을 입력합니다.

웹팩 -v

파일 package.json 만들기

자동으로 프로젝트 디렉토리 package.json에서 파일을 생성하려면 다음 명령을 입력

NPM 초기화 -y

구성 패키지 내용물

프로젝트 디렉토리에서 프로파일을 저장하기위한 구성 폴더를 생성; src 폴더를, 소스 코드를 저장; OUT 폴더 패키지 생성 된 문서를 저장하기위한, 특히 다음과 같이.

 webpack.config.js 파일을 추가합니다

폴더에 webpack.config.js 설정 파일을 추가하고 다음 코드를 추가합니다 :

경로 = CONST ( '경로')이 필요합니다; // Node.js를의 호출 경로를 
module.exports = { 
    항목 : { 
        인덱스 : './src/js/index.js' // 파일을 패키지로 필요 
    } 
    출력 : { 
        파일명 : '[이름]와 .js'     // 이름, 생성 된 파일의 이름이 무엇 입력 어떤 파일이다 
        경로 : path.resolve (__ dirname이 '.. / OUT') // 파일 디렉토리 생성 지정된 
    } 
    모드 : "개발"     // 개발 모델 등, 파일 압축은 기본적으로 더 JS 파일 압축 생성되지 않습니다 
}

웹팩 실행

cmd 명령 창에서하는 index.js 후 생성 될 패키지의 밖으로 디렉토리에 성공적으로 실행 한 후, 다음 명령을 입력

웹팩 --config 설정 / webpack.config.js

 배치 package.json

각 입력 명령 웹팩 --config 설정 / webpack.config.js, 긴, 아주 불편, 다음과 같이 우리가 package.json 파일을 구성 할 수 있습니다이 경우 :

{
   "이름": "TestWebpack" ,
   "버전": "1.0.0" ,
   "설명": "" ,
   "주": "하는 index.js" ,
   "스크립트" : {
     "테스트": "에코 \"오류 : 더 테스트 지정된 \ 없다 "&& 1 번 출구" ,
     "시작" "웹팩 --config 설정 / webpack.config.js" 
  },
   "키워드" []
   "저자": "" ,
   "라이선스": "ISC " ,
   "devDependencies " : {
     "청소 웹팩 - 플러그인 ""^ 3.0.0 " ,
    "웹팩": "^ 4.39.3" ,
     "웹팩-CLI": "^ 3.3.8" 
  } 
}

일단 구성되면, 우리는 다음과 같은 명령을 직접 포장 할 수 있습니다 입력합니다.

NPM 실행 시작

캐시의 문제와 JS 거래

문제를 해결하여 JS 캐시 해시 값 webpack.config.js 파일 수정 (내용을 수정 JS의 부재가하는 JS 파일을 재 포장하지 패키지화 함), 특정 코드는 다음과 같다 :

CONST 경로 = ( '패스'요구 ); 
module.exports = { 
    항목 { 
        인덱스 : './src/js/index.js' 
    } 
    출력 { 
        파일명 : "[이름]. [chunkhash : 8] '와 .js // 增加8位哈希值的 
        (.. / 아웃'path.resolve __ dirname이 경로 ' ) 
    } 
    모드 : "현상" , 
}

설치 웹팩 플러그 청소 웹팩 - 플러그인

청소 웹팩 - 플러그인 플러그인에 의해 출력 대상 전에 오래된 파일을 삭제합니다.

설치 명령
NPM --save-DEV 청소 웹팩 - 플러그인을 설치
사용하십시오
CONST 경로 = ( '패스'요구 );
CONST {CleanWebpackPlugin} =은 ( '청소 웹팩-플러그인을'필요 ); 
module.exports = { 
    항목 { 
        인덱스 : './src/js/index.js' 
    } 
    출력 { 
        파일명 : "[이름] chunkhash : 8].와 .js ' , 
        경로 : path.resolve (__ dirname은, '../out' ) 
    } 
    모드 : "현상" , 
    플러그인 : 
        새로운 CleanWebpackPlugin ()         
    ] 
}
두 가지의 사용법
CONST 경로 = ( '패스'요구 );
const를 CleanWebpackPlugin 필요 = ( '청소 웹팩 - 플러그인' ) .CleanWebpackPlugin; 
module.exports = { 
    항목 { 
        인덱스 : './src/js/index.js' 
    } 
    출력 { 
        파일명 : "[이름] chunkhash : 8].와 .js ' , 
        경로 : path.resolve (__ dirname은, '../out' ) 
    } 
    모드 : "현상" , 
    플러그인 : 
        새로운 CleanWebpackPlugin ()         
    ] 
}

 아래 그림과 같이 구성 후, 우리는, 디렉토리, JS 파일의 새로운 세대에서 다시 시작이 시간을 NPM 실행을 실행합니다.

 

개요

지금까지 우리는 웹팩, 구성, 포장 및 일련의 단계에서 설치를 완료했습니다. 설치 또는 질문을 사용할 수있는 경우이 문서가 도움이,의 지원에 초점을하려는 경우 더 자세한 단계는 내가 모든 테스트를 통해 후, 메시지 교환을 남겨주세요.

 

추천

출처www.cnblogs.com/aizai846/p/11497508.html