typescriptですから移行するjavascriptの作成反応するアプリ

JavaScriptのCRAプロジェクトは活字体、NPX-作成反応するアプリ私のアプリ--typescriptプロジェクトや一般的なプロジェクトのjsによって生成された差分を初めて目への移行を作成するには

1.接尾.tsx、だけでなく、新たに追加(ルートディレクトリ)の2つのファイルを変更するだけで、プロジェクトディレクトリの観点から、

1⃣️のsrc /反応-APP-env.d.ts

// / <タイプ= "ノード" /参照> 
// / <参照タイプは= "反応する" /> 
// / <基準タイプ= "-DOMに反応" />

{名前空間NodeJSを宣言
  インターフェースProcessEnv {
    読み取り専用NODE_ENV: '開発' | 「生産」| 「試験」
    読み取り専用PUBLIC_URL:文字列。
  }
}

モジュールを宣言 '* .BMP' {
  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .GIF' {
  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .JPG' {
  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .JPEG' {
  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .PNG' {
  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .webp' {
    constのSRC:文字列。
    輸出デフォルトのSRC;
}

モジュールを宣言 '* .SVG' {
  インポート *「反応」から反応します

  輸出のconst ReactComponent:React.FunctionComponent <React.SVGProps <SVGSVGElement >> ;

  constのSRC:文字列。
  輸出デフォルトのSRC;
}

モジュールを宣言 '* .module.css' {
  CONSTクラス:{読み取り専用[キー:文字列]:文字列}。
  輸出デフォルトのクラス。
}

モジュールを宣言 '* .module.scss' {
  CONSTクラス:{読み取り専用[キー:文字列]:文字列}。
  輸出デフォルトのクラス。
}

モジュールを宣言 '* .module.sass' {
  CONSTクラス:{読み取り専用[キー:文字列]:文字列}。
  輸出デフォルトのクラス。
}

2⃣️tsconfig.json

{
   "compilerOptions" :{
     "ターゲット": "ES5"  "LIB"  "DOM"  "dom.iterable"  "esnext"
    ]、
    "allowJs": "skipLibCheck": "esModuleInterop": "allowSyntheticDefaultImports": "厳密": "forceConsistentCasingInFileNames": "モジュール": "esnext"  "moduleResolution":「ノード"  "resolveJsonModule": "isolatedModules": "noEmit": "JSXは": ""反応します
  }、
  "含める" :[
     "SRC"
  ]
}

ビューのWebPACKの構成の観点から2、CRAは私たちに、考慮すべき多くのことを支援してきました!私たちは、WebPACKの構成であまりにも多くの時間を費やす必要はありません

// 設定/ webpack.config.js 
CONST useTypeScript = fs.existsSync(paths.appTsConfig)。

ファイルwebpack.config.js最初のプロジェクトのルートディレクトリに存在することを検出しますtsconfig.jsonのいずれかのスタートアップコンフィギュレーションには対応して、ファイルのWebPACK

プロジェクトは、TSファイルをしようとするつもりはない梱包、対応するファイル拡張子完了、WebPACKのを見つけることであれば、JSを追加

解決:{
    拡張子:paths.moduleFileExtensions
            .MAP(EXT => '。$ {EXT} `)
            .filter(EXT => useTypeScript ||!ext.includes( 'tsの' 
}    

 

両者の違いを比較して、我々は今、簡単にプロジェクトのjs TSプロジェクトに移行することができます

1.対応する依存関係をインストールします。

種類/冗談@種類@ NPM種類@ --save typescriptですインストール/ノード/タイプ@反応/反応し、DOM

2.上記の2つのファイルは、ローカルプロジェクト、需要と書かれたTSのその後の発展にコピーします

3.どのようにJS「allowJs」ファイルtsconfig.json実際には、ファイルおよびTSXが共存しない:真はこれを行っているために

 

おすすめ

転載: www.cnblogs.com/luguiqing/p/11723617.html