我正在尝试在 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.
请提出一个解决方案(在反应应用程序中使用)。 还尝试过其他路径,例如组件。
结构 -
你的道路看起来不错。
您可能需要使用像tsconfig-paths这样的工具来解析这些路径名。
然后,您可以在执行构建的 package.json 文件中添加类似以下内容。
ts-node -r tsconfig-paths/register ./src/app.ts
将 babel.config.js 中的别名添加到项目后问题得到解决。 阅读本文
如果您使用的是 expo,请确保在 app.json 的 experiments 下添加 "tsconfigPaths": true