초보 과학 보급 Babel:polyfill/preset-env/plugin-transform-runtime
@babel/polyfill
더 많은 내용 참조:babeljs.io/docs/en/bab…
Babel 7.4.0부터 이 가방은 이미 유행이 지났습니다. 원본 코드는corejs와regenerator를 직접 도입했습니다.
그림 원본 주소:github.com/babel/babel…
진화 방안
@babel/preset-env
더 많은 내용 참조:babeljs.io/docs/en/pre… babeljs.io/docs/en/bab…
@babel/preset-env는 일부 강압적인 프로젝트를 기반으로 한다:browserslist,compat-table,electron-to-chromium,......@babel/preset-env 설정된 목표 환경에 자동으로 맞는 js 기능, Babel 변환 플러그인(stage-0/1/2/3 플러그인 포함하지 않음), corejs의poliyfill.자동 어댑터는 선택적인 전체 국면을 오염시킬 수 있다. 물론 흑백을 가리지 않고 모두 ES5로 전환할 수도 있다. 구체적인 참조:babeljs.io/docs/en/bab…
웹 패키지에서 @babel/preset-env를 사용자 정의하는 방법을 알고 @babel/preset-env +useBuiltIns가 @babel/polyfill을 대체하는 설정을 알아야 합니다.
시나리오 1
useBuiltIns: 'usage'
시나리오 2
useBuiltIns: 'entry'
시나리오 3
useBuiltIns: 'false'
, 기본 동작 @babel/plugin-transform-runtime
더 많은 내용 참조:babeljs.io/docs/en/bab… github.com/babel/babel…
용어 해석
helper: 예를 들어 Babel 사용extend 함수는 한 대상의 속성을 다른 대상에 복사합니다. 여기의extend는 helper입니다.
앞의 두 가지 기술 방안이 있는데 왜 @babel/plugin-transform-runtime가 나올까요?
Array.prototype.includes
.@babel/plugin-transform-runtime는 모든 helper 함수를 @babel/runtime 구성 요소로 가리키며 공간을 절약하고 파일 지원을 뛰어넘어 통일된 관리를 편리하게 합니다.이것도 @babel/runtime에 미리 설치해야 합니다.
프로비저닝
에 있습니다.babelrc 프로필에 기본 인자가 있는 설정
{
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"absoluteRuntime": false,
"corejs": false,
"helpers": true,
"regenerator": true,
"useESModules": false
}
]
]
}
corejs
"corejs": false
이 기본 매개 변수를 보면 @babel/plugin-transform-runtime는 모든polyfill을 사용자가 제공해야 한다고 가정합니다:그림 출처:github.com/babel/babel…
요약:
absoluteRuntime
Babel은 기본적으로 node 에서modules는 설정된 @babel/runtime 버전을 불러옵니다.absoluteRuntime 매개 변수는 이 기본 행동을 수정하는 것입니다. @babel/runtime를 어디서 불러올지 구체적으로 지정할 수 있습니다.
기타 설정 항목의 설명 참조:babeljs.io/docs/en/bab…
전재 대상:https://juejin.im/post/5d2d3a1ee51d4510aa0115aa
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.