«Ошибка без выброса» с динамическим импортом компонентов - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в мире UX, поэтому, пожалуйста, спросите меня больше информации, необходимой для ответа на этот вопрос.

У меня есть проект React-Redux-Typescript.Я пытаюсь использовать динамический импорт модулей на основе путей, указанных в файле конфигурации.Это код для динамического импорта:

 import(`../${this.app.appPath}`).then(component => {
    this.component = component.default;
  });

Здесь this.app.appPath будет путем к компоненту посадки для приложения.Например;Test / App

У меня проблема с тем, что этот фрагмент кода вызывает ошибку при наборе файла: enter image description here

Моя конфигурация tsconfig имеет следующую конфигурацию:

{
  "compilerOptions": {
    "diagnostics": true,
    "moduleResolution": "node",
    /* Basic Options */
    "target": "ES2018" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
    "module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
    "lib": [
      "es6",
      "dom",
      "scripthost",
      "es2018",
      "es2018.promise",
      "esnext"
    ],
    "jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */,
    "sourceMap": true /* Generates corresponding '.map' file. */,
    "outDir": "./.out/" /* Redirect output structure to the directory. */,
    "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
    "typeRoots": ["node_modules/@types", "ScriptsApp/@Types"]
  },
  "include": ["./ScriptsApp/**/*.tsx", "./ScriptsApp/**/*.ts"],
  "exclude": ["node_modules", "./ScriptsApp/**/*.d.ts"]
}

И моя структура папок такова:

enter image description here

Так что я думаю, что файлы d.ts не должны компилироваться.Но динамический импорт заставляет их компилироваться согласно моему пониманию;это то, что вызывает ошибка отсутствия выброса

Моя конфигурация веб-пакета следующая для файлов .ts:

  {
    test: /\.(ts|tsx)$/,
    exclude: /\.(\.d\.ts)$/,
    loader: "ts-loader",
    options: {
      logLevel: "info",
      silent: false,
      logInfoToStdOut: true
    }
  }

Здесь также я исключаю .d.TS файлы, не уверен, почему они компилируются.Как только я удаляю код для динамического импорта, ошибка исчезает.Пожалуйста, помогите, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...