Tools/gulp

gulp 컴파일시 JS async, await 오류

비비빅B 2020. 5. 3. 17:43
"uncaught ReferenceError: regeneratorRuntime is not defined"
  • gulp로 개발하는데 자꾸 오류 뜸

  • babel로 js문법 변환 과정에서 생기는 오류

  • 문법 변환을 @babel/preset-env로 설정해서 async를 regeneratorRuntime 모듈로 변환

  • 나는 저런 모듈을 import 하지 않았기 때문에 오류 발생


해결방법

const js = () =>
	gulp
		.src(routes.js.src)
		.pipe(
			bro({
				transform: [
					babelify.configure({
						presets: [["@babel/preset-env", { targets: { chrome: "55" } }]],
					}),
					["uglifyify", { global: true }],
				],
			})
		)
		.pipe(gulp.dest(routes.js.dest));
  • 참고로 여기서 bro는 gulp-bro 모듈

  • targets을 크롬 55버전 이상으로 설정함

  • async, await 문법이 변환되지 않음

  • 현재 대부분 크롬 55버전 이상이므로 굳이 polyfill을 설치할 필요 없음

 


 

참고: https://medium.com/@jongmoon.yoon

'Tools > gulp' 카테고리의 다른 글

gulp(3) js, git deploy  (0) 2020.04.15
gulp(2) image, sass -> css  (0) 2020.04.15
gulp(1) setting, pug -> html  (0) 2020.04.14