티스토리 뷰
Pre-ES6에는 네이티브 모듈 시스템이 없으므로 사용자 영역 코드로 구성된 여러 시스템이 있습니다 (예 : CommonJS / Node 모듈 및 AMD). 그것들은 Babel이 ES6 모듈 구문을 변환하는 것입니다 (예, ES6 모듈 구문에 기본 번들링 스토리가 없다는 것이 맞습니다). 브라우저는 이러한 사용자 영역 API에 대한 지식이 없습니다. Node는 require()
등 을 주입하는 함수에 "모듈"을 래핑하여 모듈 시스템을 구현합니다 . 브라우저에서는 require()
참조 오류 일뿐입니다. Browserify (또는 다른 번 들러)는 브라우저에서 작동하도록하고 전체 종속성 그래프를 단일 스크립트로 묶습니다. 따라서 코드가 브라우저 용인 경우 번들로 묶을 수 있습니다. Node의 경우 필요하지 않을 수 있습니다.
가져 오기 / 내보내기 기능
함수, 선언이 아닙니다.
모듈을 번들로 묶기 위해 단순히 이것을 사용한다면 ES6가 나를 위해 그것을 할 수 있습니까?
ES6 구문을 사용하여 파일을 묶을 수도 있는지 궁금합니다.
네이티브 ES6 가져 오기 / 내보내기 기능이 단순히 파일을 번들링하지 않는다고 가정하는 것이 옳습니까?
예. ES6 모듈을 번들링하는 기본 방법은 없습니다. ES6 모듈 구문을 Node 모듈과 같은 것으로 변환하고 번들로 묶을 수 있습니다.
지금까지 읽은 내용에서 여전히 모든 별도의 Javascript 파일을 포함해야한다고 생각하지만 기본 가져 오기 기능을 사용하여 모듈을 서로 다른 네임 스페이스로 가져 오면됩니다.
구문이 표준화되었지만 많은 동작이 그렇지 않다는 것을 인식하는 것이 중요합니다. 모듈을 실제로 찾고로드하는 방법을 지정하기 위해 개발중인 로더 사양이 있습니다.
https://stackoverflow.com/a/33044085/1034448 도 참조하십시오 .
-------------------예, 바벨을 사용하여 ES6 가져 오기를 ES5로 트랜스 파일 할 수 있습니다.
그러나 웹팩 사용의 한 가지 장점은 프로덕션 환경에서 제공 할 하나의 정적 파일을 생성한다는 것입니다.
출처
https://stackoverflow.com/questions/39919994