Проблемы с импортом файла TSX в файл JSX - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь настроить базовое приложение реагирования на SSR, используя машинописный текст для внешнего интерфейса и js для сервера.

Основным компонентом приложения является файл .tsx.

Но я сталкиваюсь со следующей ошибкой:

Ошибка: не удается найти модуль '../src/App' в Function.Module._resolveFilename (внутренний / modules / cjs / loader.js: 581: 15)

В моем файле renderSSR.js я:

Импорт приложения из "../src/App";

(это должен быть импорт ../src/App.tsx)

Если я изменю на стороне сервера все файлы .ts и использую ts-node, все будет работать. Но я не хочу этого делать.

Некоторые важные части моего файла веб-пакета:

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/
      },

Обновление: я могу обойти эту проблему импорта, изменив оператор импорта на:

импорт приложения из "../src/App.tsx";

Однако это приводит к следующей ошибке во вновь импортированном файле App.tsx:

{import * as React из "реакции";
^ SyntaxError: неожиданный токен *

В машинописи то, как вы импортируете React.

...