Я новичок в мире UX, поэтому, пожалуйста, спросите меня больше информации, необходимой для ответа на этот вопрос.
У меня есть проект React-Redux-Typescript.Я пытаюсь использовать динамический импорт модулей на основе путей, указанных в файле конфигурации.Это код для динамического импорта:
import(`../${this.app.appPath}`).then(component => {
this.component = component.default;
});
Здесь this.app.appPath будет путем к компоненту посадки для приложения.Например;Test / App
У меня проблема с тем, что этот фрагмент кода вызывает ошибку при наборе файла: ![enter image description here](https://i.stack.imgur.com/GMgvv.png)
Моя конфигурация 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](https://i.stack.imgur.com/vJ9oe.png)
Так что я думаю, что файлы d.ts не должны компилироваться.Но динамический импорт заставляет их компилироваться согласно моему пониманию;это то, что вызывает ошибка отсутствия выброса
Моя конфигурация веб-пакета следующая для файлов .ts:
{
test: /\.(ts|tsx)$/,
exclude: /\.(\.d\.ts)$/,
loader: "ts-loader",
options: {
logLevel: "info",
silent: false,
logInfoToStdOut: true
}
}
Здесь также я исключаю .d.TS файлы, не уверен, почему они компилируются.Как только я удаляю код для динамического импорта, ошибка исчезает.Пожалуйста, помогите, спасибо.