无法访问项目中的tsconfig路径

问题描述 投票:0回答:3

我正在尝试在 ts 文件中包含路径,尝试了 stackoverflow 上可能提供的解决方案,但没有一个对我有用 tsconfig.json

{
  "compilerOptions": {
    "strict": true,
    "baseUrl": "./app",
    "paths": {
      "@redux/*": ["redux/*"]
    },
    "include": [
      "./app/redux/**/*", "**/*.ts", "**/*.tsx"
  ],
  },
  "extends": "expo/tsconfig.base"
}

tsconfig.base.json

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "display": "Expo",

  "compilerOptions": {
    "allowJs": true,
    "esModuleInterop": true,
    "jsx": "react-native",
    "lib": ["DOM", "ESNext"],
    "moduleResolution": "node",
    "noEmit": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "target": "ESNext"
  },

  "exclude": ["node_modules", "babel.config.js", "metro.config.js", "jest.config.js"]
}

尝试导入 app.tsx

import  {} from '@redux/store';// err Cannot find module '@redux/store' or its corresponding type declarations.

请提出一个解决方案(在反应应用程序中使用)。 还尝试过其他路径,例如组件。

结构 - /应用程序/组件 /app/redux/store.tsx

typescript alias tsconfig
3个回答
0
投票

你的道路看起来不错。

您可能需要使用像tsconfig-paths这样的工具来解析这些路径名。

然后,您可以在执行构建的 package.json 文件中添加类似以下内容。

ts-node -r tsconfig-paths/register ./src/app.ts

0
投票

将 babel.config.js 中的别名添加到项目后问题得到解决。 阅读本文


0
投票

如果您使用的是 expo,请确保在 app.jsonexperiments 下添加 "tsconfigPaths": true

© www.soinside.com 2019 - 2024. All rights reserved.