수정 프로그램에서 개인 변수를 찾을 수 없음@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/1423

좋은 웹페이지 즐겨찾기