수정 프로그램에서 개인 변수를 찾을 수 없음@derivedConstructor(Safari iOS 10.1 ~ 10.3.1)
4054 단어 compat-table
묘사
Async arrow 함수는 유사 방법으로 Safari 10.1에서 10.3.1에서 작용하지 않는 것 같다.나는 compat table에 대해 매우 낯설기 때문에 자세히 복습해 주십시오.
배경:
- https://github.com/kangax/compat-table/issues/1419
- https://github.com/babel/babel/issues/9465
토론 #1
토론 #2
@adrienharnay@titozz 잘했어!착륙 후에 환경을 갱신하겠습니다!토론 #셋
토론 #4
안녕하세요. 저는 단지 설명을 좀 보충하고 싶었습니다. 왜냐하면 버전 번호가 매우 짜증나고 곤혹스러웠기 때문입니다.😠!그래서 테스트를 해봤습니다.
iOS 9.X-Safari Mobile 9.?-Webkit 버전 601.1.46
iOS 10.0-Safari Mobile 10.0-Webkit 버전 602.1.50
iOS 10.1-Safari Mobile 10.0.1-Webkit 버전 602.2.14
iOS 10.2-Safari Mobile 10.0.2-Webkit 버전 602.3.12
iOS 10.3.X-Safari Mobile 10.1-Webkit 버전 603.1.30-Breaked
iOS 11.0-Safari Mobile 11.?-Webkit 버전 604.2.10
iOS 11.1-Safari Mobile 11.?-Webkit 버전 604.3.5
웹뷰와 사파리에서 이 모든 것을 직접 테스트한 후 한 버전만 파괴되었다.
우리가 이 PR에서 실현하고자 하는 것은 비동기 화살표 함수는 11 이상 버전에만 적용되기 때문에 우리는 그것을 10.1에서 11로 바꾸었다.나는 그것이 10.1 이하에서 일한다고 생각한다. 왜냐하면 compat는 10.1 이후에만 사용한다고 말하기 때문이다.
@ljharb을 계속하는 정확한 방법입니까?
토론 #5
@Titozz 나는 너의 목표가 babel preset env에 통지하는 것을 알고 있지만 이것은 compat표의 주요 목적이 아니다.만약 기능이 10.2와 11에서 작용하지만 10.3에서 파괴된다면 표는 이를 전달해야 한다.토론 #6
전혀 우리의 의도가 아닙니다. 우리는 단지 우리가 가장 오래된 작업 버전이나 당신이 말한 것을 지정해야 하는지 모르겠습니다!PR토론 #7
@adrienharnay를 업데이트하고 있습니다. 10.1에서 작업을 하기 때문에, 10.3에false로 표시하기 위해 새로운 브라우저 항목을 추가해야 한다고 생각합니다.토론 #8
Safari 10.3이 존재하지 않습니다. 이전에 발표된 @titozz 목록을 보십시오.이것은 사람을 곤혹스럽게 하지만 기본적으로 다음과 같다.-iOS 10、10.1、10.2=Safari 10
-iOS 10.3=Safari 10.1(파손)
토론 #9
정답 - 항목을 추가해야 한다는 말입니다.토론 #10
또는 데스크톱 10.1이 모바일 10.3과 연결되어 있고 이 두 플랫폼이 모두 파괴되었다고요?토론 #11
사파리 10.3은 존재하지 않는다는 말이야.Safari 10.1은 이미 존재하며 취약점이 있으며 iOS 10.3에 설치되어 있습니다.그래서 이 책상은 지금처럼 좋아요.죄송합니다. 만약 이것이 분명하지 않다면, 우리는 약간의 시간을 들여서토론 #12
아, 알겠습니다. 나의 곤혹을 해명해 주셔서 감사합니다. -토론 #13
토론 #14
당신은 여전히 운행npm run build
을 해야만 CI:-토론 #15
preset-env
를 통과할 수 있습니다. 나는 이 테스트와 관련된 개인적인 방법이 어떻게 통과되었는지 확실하지 않습니다.개인 필드에 새로운 테스트를 추가해서
토론 #16
의존항에 추가해야 할 것 같습니다.아니면 개인적인 영역이 아니에요?
토론 #17
@zloirock는 이러면 안 됩니다.safari가 보낸 오류 메시지에는 'private' 라는 단어가 있지만, 클래스 필드와는 무관합니다.토론 #18
@ljharb 어쨌든 이 테스트는 iOS 10.3을 통과했습니다.사파리가 10의 비동기 화살표 기능을 지원하는지 확인합니까?
https://caniuse.com/#feat=async- 기능
13b74c9를 회복하고 싶은데 확실하지 않아요.🤔, 내일 나는 @adrienharnay와 이 일을 이야기할 것이다.
토론 #19
토론 #20
그래서 우리는 계속 발굴하고 있다. 이 문제는 10.3 이하의 iOS 장치에 나타나지 않는다. 왜냐하면 우리가 사용하는 것은esmodules(https://babeljs.io/docs/en/babel-preset-env#targetsesmodules).마지막 문제는 iOS 10.3(safari mobile 10.1)이 esmodules를 지원하지만 비동기적인arrow 클래스를 사용할 때 붕괴된다는 것이다.
#존재주의, 이 문제를 해결하기 위해 무엇을 갱신해야 하는지 아십니까?
토론 #21
ESM이 이와 어떤 관계가 있는지 설명해 주시겠습니까?클래스도 스크립트에서 작동합니다.토론 #22
(용어를 바로잡기 위해, 화살표 방법이 없고, 화살표 함수는 대상의 속성만 가능)토론 #23
@ljharb 방금 실행했어npm run build
.PR이 좋을 것 같아:+1:토론 #24
Can you explain what ESM has to do with this? Classes work in Scripts too.
이것은 Safari 10.3이
<script type="module">
(.mjs) 를 불러온다는 것을 의미하며, 그 문법이 이곳의 문제를 초래했다.이 파일은 @babel/preset env/browserlist를 통해 전송되기 때문에 문제가 없는 문법입니다.
자세한 내용은 여기를 클릭하십시오.https://caniuse.com/#feat=es6- 모듈
<script nomodule>
야.번역되지 않은 문법으로 스크립트를 불러올 수 있는 테스트 페이지를 만들 수 있습니다: - 토론 #25
토론 #26
@adrienharnay. 기초를 다시 설정하십시오.나는 일을 망쳤다😅PR 다시 열기:https://github.com/kangax/compat-table/pull/1423Reference
이 문제에 관하여(수정 프로그램에서 개인 변수를 찾을 수 없음@derivedConstructor(Safari iOS 10.1 ~ 10.3.1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/kangax/compat-table/issues/1420텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)