reactjs - Probleme la importarea unui fișier TSX într-un fișier JSX


Încerc să configurez o aplicație React SSR de bază, folosind TypeScript pentru frontend și JS pentru server.

Componenta principală App este un fișier .tsx.

Dar mă confrunt cu următoarea eroare:

Eroare: Nu se poate găsi modulul '../src/App' la Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)

În fișierul meu renderSSR.js eu:

import App din "../src/App";

(acesta ar trebui să importe ../src/App.tsx)

Dacă schimb partea de server să fie toate fișiere .ts și folosesc ts-node, totul funcționează. Dar nu doresc să fac asta.

Unele părți relevante din fișierul meu webpack:

config.resolve = {
    extensions: [".tsx", ".ts", ".js", ".jsx"]
  };

config.module = {
     rules: [
      // Babel
      {
        test: /\.(js|jsx)$/,
        include: resolvePath("../src"),
        loader: "babel-loader",
        options: {
          cacheDirectory: IS_DEV,
          compact: IS_PROD
        }
      },
      // TS
      {
        test: /\.ts(x?)$/,
        loader: "ts-loader",
        exclude: /node_modules/
      },

Actualizare: Pot depăși această problemă de import modificând declarația de import astfel:

import App din "../src/App.tsx";

Cu toate acestea, acest lucru duce apoi la următoarea eroare în fișierul App.tsx recent importat:

{ import * as React from "react";
^Eroare de sintaxă: simbol neașteptat *

În TypeScript așa importi React.