개발
es5만 지원되는 ie같은 브라우저에 es6 쓰는 방법, 바벨(babeljs)
879 views as of February 25, 2021.
⚠ 이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!
es5만 지원하는 더러운 ie 같은 브라우저가 있다.
ie11은 es2015까지만 지원해줘서 remove()나 parameter default 같은 es6의 기능을 쓰려면 이를 es5에 맞게 컨버팅 해줘야 한다.
뭐 코드를 es5로 짜면되겟지만 이미 한물 간 스크립팅하느니 es6로 개발하고 컨버팅하는게 낫지요.
Laravel 같이 Webpack Mix 쓰는 경우
이 경우는 진짜 속편하다. 아래와같이 webpack.mix.js
에 바벨 구문만 추가해주면 끝이다.
const mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.js('resources/js/app.js', 'public/js')
.babel('public/js/app.js', 'public/js/app.es5.js')
.sass('resources/sass/app.scss', 'public/css');
Copy
그리고 컨디셔널 코멘트로 app.es5.js
파일을 로드 시켜주면 끝.
php 프레임워크 개발은 라라벨이 짱이신거시다.
일반 스크립트 코드의 경우
cdn에서 babel 라이브러리를 가져와서 스크립트를 즉시 번역할 수도 있다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.js"></script>
<script type="text/babel">
function searchManager(keyword) {
if(keyword.length > 1) {
$.ajax({
type: 'post',
url: '/admin/hospital/search/manager',
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
data: { 'keyword': keyword, 'hospital_id': $('#hospitalID').val() },
success: function(data) {
$('#listManager .item_data').remove();
$('#listManager').append(data);
$('#listManager .item_data').ripple({ duration: 600 });
},
error: function(jqXHR) {
toast('전문의를 찾는 도중에 문제가 발생했습니다.', TOAST_ERROR);
if(APP_DEBUG) {
console.log(this.url);
popup(jqXHR.responseText);
}
},
});
} else {
toast('검색어를 두글자 이상 입력해주세요.', 'warning');
}
}
</script>
Copy
babel-core/browser.js
를 로딩하고 컨버팅할 스크립트 태그에 type="text/babel"
을 추가한다.
요 방법은 쉽게 가져다가 쓸 수 있어서 괜찮아 보인다.
#JavaScript
0
개의 댓글
개발 카테고리의 다른 글
07/22/2021
AWS pem 키 없이 FTP 접속 가능하도록 설정하는 방법
뭐 이러면 안되지만 꼭 루트유저가 아닌 일반 유저로써 AWS EC2 인스턴스에 접속하게 하기위한 계정생성이 필요할때 아래와 같이...
02/25/2021
브라우저별로 스크립트 따로 쓰는 법, ie 조건문
ie용 es5 스크립트 패킹한걸 브라우저 조건문을 통해 로드하는 방법입니다. 스크립트 위치에 어디든지 적용 예시 컨디셔널 코멘...
02/18/2021
라라벨 ajax로 FormData 넘길때 method에 의해 발생할 수 있는 오류
그렇다. 라라벨에서는 URL Request를 여러가지 메소드를 이용해 호출할 수 있다.넘기는 데이터가 간단히 파라미터 수준이라면 어...