만족
[Javascript] 브라우저에서 import/export 사용하기 본문
[Javascript] 브라우저에서 import/export 사용하기
FrontEnd/Web Satisfaction 2022. 1. 31. 19:34<!-- html -->
<script src='/path/js/code.js'></script>
위와 같이 스크립트 태그를 선언하고 사용했을 것이다.
script에서 지정한 js에서 import/export를 사용하기 위해서는 type='module'을 사용해야 한다.
<!-- html -->
<script type='module' src='/path/js/code.js'></script>
이제 /path/js/code에서 import/export를 사용할 수 있다.
사용해보기
// /path/js/lib.js
export const foo= ()=>{
console.log('hello');
}
lib.js 파일을 만들고 위 내용을 작성한다.
lib.js는 script태그에 넣어주지 않아도 된다.
// /path/js/code.js
import {foo} from './lib.js';
foo();
/path/js/code.js에는 위와 같이 import를 사용해 lib.js에서 export한 변수를 사용할 수 있다.
주의
type='module'로 지정했기 때문에 전역 객체로 code.js에서 선언된 값에 접근할 수 없다.
예를 들어서
<!-- html -->
<script type='module' src='/path/js/code.js'></script>
<script>
foo();
</script>
하면 foo는 undefined이므로 에러가 발생한다.
또한 이 기능은 es6에서 추가된 기능이기 때문에 ie11과 같은 오래된 브라우저에서는 일반 스크립트 태그와 동일하게 작동한다.
(import/export를 해석하지 못해 문법 오류가 발생한다)
따라서 module기능을 사용하면서 es5와 같은 하위 호환이 필요하다면,
webpack과 같은 모듈 번들러를 이용해야 한다.
'FrontEnd > Web' 카테고리의 다른 글
[Javascript] 써로게이트 페어(surrogate pair) (0) | 2024.06.09 |
---|---|
[Web] 이미지 크기 지정과 애드센스 최적화로 CLS(Cumulative Layout Shift) 수치 낮추기 (0) | 2023.03.01 |
CORS(Cross Origin Resource Sharing)의 이해 (0) | 2022.01.01 |
[Javascript] 네트워크 끊김/연결 감지 (0) | 2020.11.04 |
[Javascript] REST API 호출을 위한 라이브러리, axios (2) | 2020.01.19 |
Comments