이 기사에서는 참고할 수 있도록 최신 Webpack 3 릴리스의 새로운 기능을 간략하게 공유합니다.
6월 20일 Webpack은 최신 버전 3.0을 출시하고 Medium에 발표했습니다.
Webpack은 이제 거의 프론트엔드 개발의 표준이 되었는데, 새 버전의 주요 기능 업데이트를 살펴보겠습니다.
2.0에 비해 전체적인 변화는 크지 않으니 당황하지 마세요.
Webpack 2.0 관련 영상 튜토리얼은 제가 녹화한 20편의 영상 튜토리얼인 Webpack 2 Video Tutorials를 참고하시면 됩니다.
다음은 v3.0 릴리스의 기능 목록입니다.
node_modules는 더 이상 통계에서 ~로 변경되지 않습니다. [급격한 변경 사항]
HMR 요청에 대한 시간 제한을 구성할 수 있습니다.
실험적 범위 끌어올리기(webpack.optimize.ModuleConcatenationPlugin)
몇 가지 성능 개선
라이브러리에 대한 내보내기를 선택하기 위해 output.libraryExport를 추가했습니다.
sourceMapFilename은 이제 [contenthash] [급격한 변경]을 지원합니다.
module.noParse는 기능을 지원합니다
add node: 모든 노드 특정을 비활성화하는 false 옵션 추가
명령어를 통해 직접 설치할 수도 있고, 이후에 버전 번호를 추가해야 합니다.
npm install webpack@3.0.0 --save-dev
또는
yarn add webpack@3.0.0 --dev
Webpack 2에서 Webpack 3으로 업그레이드하는 공식 단어는 다음과 같습니다.
터미널에서 업그레이드 명령을 실행하는 것 외에는 노력하지 마세요
따라서 버전 번호는 변화는 있었지만 큰 변화는 없을 테니 안도의 한숨을 쉬셔도 됩니다.
이전의 모든 모듈은 독립적인 함수 클로저에 포함되어 있었습니다. 이 처리 방법은 브라우저에서 코드 실행이 느려지는 문제를 일으켰습니다.
개발팀에서는 Closure Compiler, RollupJS 등의 프레임워크를 참고한 후 함수 클로저의 래핑 방식을 구성 가능한 형태로 변경했습니다.
이전 플러그인에서 구성하면 됩니다.
module.exports = { plugins: [ new webpack.optimize.ModuleConcatenationPlugin() ] };
물론 일부 모듈의 로딩으로 인해 구성이 성공하지 못할 수도 있습니다. 구성 실패의 원인을 디버깅하기 위해 공식 CLI 매개변수 --display-optimization-bailout
이 제공됩니다. --display-optimization-bailout
用于 debug 是什么原因导致了配置失败。
其实就是可以命令 chunk name 了。
import(/* webpackChunkName: "my-chunk-name" */ 'module');
更多的使用可以参考这里。
更好的编译缓存
更快的首次以及增量编译速度
对 TypeScript 更加友好地支持
修改 Long term caching
增加对 WASM Module 的支持
用户体验的改进
总体看来变化不大,而且如 Magic Comments
매직댓글
등의 기능은 이미 2.4에서 최신 버전으로 출시되었습니다. , 3.0 버전을 출시하는 것은 주로 더 나은 제품을 제공하려는 팀의 결의의 상징이라고 생각합니다. 🎜위 내용은 Webpack3의 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!