개발
es5만 지원되는 ie같은 브라우저에 es6 쓰는 방법, 바벨(babeljs)
⚠ 이 글은 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 인스턴스에 접속하게 하기위한 계정생성이 필요할때 아래와 같이 pem키 접속이 필요없는 계정을 생성할 수 있다. 당연한 이야기지만 pem키없이 루트권한을 행사하는 계정을 만들면 큰일나므로 주의하자.

02/25/2021
브라우저별로 스크립트 따로 쓰는 법, ie 조건문
ie용 es5 스크립트 패킹한걸 브라우저 조건문을 통해 로드하는 방법입니다. 스크립트 위치에 어디든지 적용 예시 컨디셔널 코멘트로 여러 브라우저나 미디어에 대해서 조건문을 설정할 수도 있음.
02/18/2021
라라벨 ajax로 FormData 넘길때 method에 의해 발생할 수 있는 오류
그렇다. 라라벨에서는 URL Request를 여러가지 메소드를 이용해 호출할 수 있다.넘기는 데이터가 간단히 파라미터 수준이라면 어느 메소드(put, delete, option 등)을 쓰던 문제는 없다. 문제문제는 ajax로 파일을 포함한 데이터(멀티폼 데이터)와 함께 요청하는 경우인데, 보통 ajax로 파일을 넘길때는 FormData 객체를 쓰...