사용 @ 바벨 / 사전 - 타이프 라이터 대체 멋진-타이프 라이터 로더 및 TS-로더

머리말

: 이전에 설치하고 타이프 라이터 자료를 사용하는 오래된 프로젝트 작성 반응 오래된 프로젝트 반응 타이프 실제로 설치하고 사용 .

타이프 라이터 코드 탐지 및 변환에 사용을 끝내-타이프 로더의 블로그.

그리고 요즘은 타이프 라이터를 다루는 @ 바벨 / 사전 - 타이프 라이터를 사용하여 자신의 발판을 수정로 이동.

멋진-타이프 라이터 로더 프로그램을 불러 오기

우월 @ 바벨 얘기 사전 - 타이프 라이터 전에 /, 또는 다음 멋진-타이프 라이터 로더 프로그램 시작은 처리 방법 타이프 라이터이다.

먼저 우리는 타이프 라이터가 타이프는 JS 코드 컴파일러의 지정된 버전으로 변환됩니다, 그리고 바벨은 또한 JS JS 코드는 컴파일러의 낮은 버전으로 변환되어 새로운 구문의 새로운 버전입니다 알아야 할 모든의.

우리는 이전 프로그램을 코드의 각 비트를 수정 그래서 코드는 TS 타이프 라이터는 JS로 변환에 통과 한 후 바벨 JS 코드의 낮은 버전으로 변환이 JS 코드를 통과한다.

우리는 두 개의 컴파일러를 구성해야하고, 각 조금 변화를했다 그래서, 그것은이 후 컴파일됩니다.

@ 바벨 / 사전 - 타이프 라이터 방식

: 프로그램을 소개하기 전에, 나는 번역의 내 참조 목록 필요 [번역] 타이프 라이터와 바벨 : 아름다운 결혼을 .

너무 적어도 우리는이 일정에 완료 될 예정 야생 제도입니다 걱정하지 마세요, 1 년 협력 최대의 공식 결과를 여기에 언급과 바벨 타이프 라이터 팀이다.

@ 바벨 / 사전 - 타이프 라이터와 @ 바벨 / 사전 - 반응 마찬가지로 특수 구문은 JS로 변환된다 : 코어 모양을 정제.

하지만 약간 상이한는 @ 바벨 / 사전 설정 타이프가 직접 편집 빠른 속도하게 JS로, 타이프 제거된다.

바벨 내가 타이프 라이브러리에 발판을 언로드 때문 만 라인에 컴파일러를 관리 할 필요가, 당신은 여전히 ​​완벽하게 실행할 수 있습니다.

당신이 타이프 당신이 코드 페이지를 변경하는 것이 종류를 감지하지 않습니다 쓰기 후에 또한 중요한 중단 실행이다.

따라서 테스트?

난 당신이 코드를 작성, 타이프 스크립트를 설치 한 후 TS를 사용 @ / 사전 - 타이프 라이터가 그것을 제거하기 위해 귀찮게하지 바벨, 타이프 라이터 유형 검색이 아에 참여하는 데 사용됩니다 썼다?

아니, 그것은 불필요한 아닙니다.

이전 기사 번역을 기억 하는가?

이 시험의 목적을 달성하기 위해 ESLint @ 타이프-eslint 배열 사용 ESLint이다.

그리고 우리의 옵션?

우리는 우리가이 단계를 건너 뛸 수 있도록 우리는 TS 테스트를 소유하고, 고귀한 VSCode 플레이어입니다.

일부 결함

번역은 위의이 프로그램의 네 개의 결함을 언급 :

  1. 네임 스페이스 구문은 표준 ES6 모듈 (가져 오기 / 내보내기)를 사용하지 않는 것이 좋습니다.
  2. 지원하지 않습니다 X 신택스 변환 형 newtype은 X로 사용.
  3. const를 열거
  4. 기존 스타일 가져 오기 / 내보내기 구문. 예를 들어 수입 foo는 =은 (...) 수출 = foo는 필요합니다.

제 1 조 및 제 4 조이없는, 쓸모 없게되었다.
제 2 조 결함이 구문 것입니다 직접 프롬프트 구문 오류, 좋은 변화 문제와 같은 구문을 변경하지 않습니다.
규칙 3이없는 결함, 프로 테스트를 사용할 수 있습니다.

단계를 교체

에서 @ 바벨 / 사전 - 타이프 라이터를 사용하려면, 당신이 Babel7 + 꼭 확인해야합니다.

하지 Babel7 + 사용자의 경우, 다음 두 명령은 업그레이드를 실행 해보십시오 실행할 수 있습니다 :

npm install babel-upgrade -g

babel-upgrade --write

그런 다음 우리는 설치 :

npm i --save @babel/preset-typescript

전에 다음 구성 부분 구문 분석 웹팩 TSX 다음 제거 :

module: {
  rules: [
    //...
    {
      test: /\.tsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader',
      options: {
        presets: [
          '@babel/preset-env',
          '@babel/preset-react',
          '@babel/preset-typescript'
        ]
      }
    }
    //...
  ]
}

개미 설계 하중 요구

혼자 구덩이도 나왔다이 일을해야합니다.

이전 방식을 우리가 TS-가져 오기 플러그인을 사용하여 처리.

그래서 무의식적으로 나는이 장소가 인터넷 검색 프로그램, 매우 귀찮은 일 것이라 생각합니다.

그러나, 대답은 '노 없어야한다, 또는 TS-가져 오기 플러그인, 또는이며, 생성 - 반응 - 응용 프로그램의 조합이 함께.

사실 우리는 바벨 - 플러그인 가져 오기 그것의 최신 업그레이드를 볼 필요가있다.

바벨 - 플러그인 가져 오기 버전이 너무 낮은 때문에 TS 파일이 유효하지 않습니다에 JS 파일에 대해서만 유효 발생했다.

그런 다음 모양의 바벨 - 플러그인 가져 오기로를 구성 :

module: {
  rules: [
    //...
    {
      test: /\.tsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader',
      options: {
        presets: [
          '@babel/preset-env',
          '@babel/preset-react',
          '@babel/preset-typescript'
        ],
        plugins: [
          ['import', { libraryName: 'antd', style: 'css' }], // `style: true` 会加载 less 文件
        ],
      }
    }
    //...
  ]
}

개요

이 업그레이드는 주문형 로딩 개미 디자인 가장 많은 시간을 보내는 것, 그리고 다른 일들이 사실은 아주 좋은 구성입니다, 아무것도 더 일부 흩어져 지식없는 것보다는 없습니다.

내가 번역 읽을 감사 일을 나는 정직하게,하지만 여전히 읽을 조금 뻣뻣한 느낌.

그래서 다른 지점에 시간이 차근 차근 이유를 업그레이드 명확하게 설명하는 방법은 걸릴.

: 여기에 참조 프로젝트 부착 비계 프로젝트 .

추천

출처www.cnblogs.com/vvjiang/p/12057811.html