2017-09-14 3 views
1

에 오류가 발생합니다. 웹팩 sourcemaps 작업시 I이 우연히평가는 그래서 ES6 기본 매개 변수를 사용하여이 코드를 완전히 합법적 조각이 적절한 ES6 코드

ReferenceError: Can't find variable: foo

(:

eval('const foo = 5; function test(bar = foo) { return bar }; test();'); 

다음 오류가 발생 그래서 같이 평가 후면 함수 내부에서 사용 동일한 코드 조각 그러나

eval-source-map)이 코드는 eval처럼 래핑되어 생성 된 번들을 나눕니다.

왜 이런 불일치가 궁금합니다.

블록 범위 const/ let의 사용법에 관한 버그 및 코드 전역에서 평가되는 사실로 나타난다 10.1.2

+2

Safari 11에서 작동하기 때문에 버그 일 수 있습니다. – pvg

+0

'const' /'let' 키워드와 관련된 버그처럼 보입니다. 사파리 10에서'var'을 사용하는 것처럼 보입니다. –

+0

@PatrickKunka 네, var에서 작동합니다. 블럭 범위 변수에 문제가있는 것처럼 보입니다. – Kicu

답변

0

V 사파리 시험.

1 : 사용 var :

eval('var foo = 5; function test(bar = foo) { return bar }; test();'); 

2 :

나는이 작업 방법을 발견했습니다 사용 const을하지만, 폐쇄 내에서 실행합니다. 예를 들어, IIFE 내부의 동일한 코드가 작동하는 것처럼 보입니다.

eval('(function(){const foo = 5; function test(bar = foo) { return bar }; return test();})()'); 
관련 문제