Unde se află fișierele JavaScript compilate din TypeScript pentru aplicația mea react-native expo?


Tocmai am creat unul dintre proiectele implicite TypeScript Expo cu expo init, și are un fișier simplu App.tsx în directorul principal. Pot să fac modificări în fișier și ca aceste modificări să se reflecte în aplicația mea, dar nu par să găsesc fișierul corespunzător de ieșire: App.js nicăieri, ceea ce mi se pare foarte confuz.

După ce am analizat tsconfig.json furnizat, are o opțiune clar etichetată "noEmit": true, care dezactivează orice fișiere de ieșire în timpul compilării, ceea ce nu are prea mult sens pentru mine.

Unde sunt salvate/urmărite fișierele de ieșire TypeScript?

Răspuns #1

React Native folosește Metro pentru a împacheta fișiere javascript/typescript. Fișierul generat este stocat în cache și păstrat într-o oarecare structură de directoare cu hash, care nu poate fi citită direct.

Poți adăuga aceste opțiuni în metro.config.js pentru a redirecționa folderul cache

const path = require('path');
const { FileStore } = require('metro-cache');

module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: true,
      },
    }),
  },
  cacheStores: [
    new FileStore({
      root: path.join(__dirname, 'metro-cache')
    })
  ]
};