gpt4 book ai didi

reactjs - React Native - 找不到模块 X 或其相应的类型声明

转载 作者:行者123 更新时间:2023-12-05 04:42:23 25 4
gpt4 key购买 nike

我最近设置了一个 React Native TypeScript 项目

我一直在尝试使用设置指南获得绝对路径 here .但无论我似乎在做什么,我都会不断收到错误 Cannot find module 'X' or its corresponding type declarations TS(2307)

在当前状态下,我的 tsconfig 看起来像

{
"extends": "expo/tsconfig.base",
"include": ["./src/**/*"],
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"isolatedModules": true,
"jsx": "react-native",
"lib": ["es2017"],
"moduleResolution": "node",
"noEmit": true,
"strict": true,
"target": "esnext",
"baseUrl": ".",
"paths": {
"@util/*": ["./src/util/*"],
"@components/*": ["./src/components/*"],
}
},
"exclude": [
"node_modules",
"babel.config.js",
"metro.config.js",
"jest.config.js"
]
}

我的 babel.config.js 如下所示

module.exports = (api) => {
api.cache(true);
const presets = ['babel-preset-expo'];
const plugins = [
[
'module-resolver',
{
root: ['./src'],
extensions: ['.ios.js', '.android.js', '.js', '.jsx', '.ts', '.tsx', '.json'],
alias: {
'@components': './src/components',
'@util': './src/util',
},
},
],
];

return {
presets,
plugins,
};
};

我当前的 eslintrc.js 如下所示

module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'plugin:react/recommended',
'airbnb',
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
tsx: true,
},
ecmaVersion: 13,
sourceType: 'module',
},
globals: {
React: 'readonly',
JSX: 'readonly',
},
plugins: [
'react',
'import',
'@typescript-eslint',
],
rules: {
'react/jsx-filename-extension': [2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
'import/extensions': ['error', 'ignorePackages', {
js: 'never',
jsx: 'never',
ts: 'never',
tsx: 'never',
}],
'no-use-before-define': 'off',
},
settings: {
'import/resolver': {
node: {
path: ['src'],
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
typescript: {
alwaysTryTypes: true,
},
// 'babel-module': {},
},
},
};

到目前为止我已经尝试了一些事情 - 在每个都重新启动 vscode/ts 服务器之后

  • 更改路径名称,使它们没有 @ 作为前缀,没有区别
  • baseUrl 更改为 src 并相应更新路径,没有区别
  • 尝试在 eslint 中使用 babel-plugin-module-resolver,没有区别
  • 尝试将 metro-react-native-babel-preset 与 babel 一起使用,没有区别
  • 尝试将 babel.config.js 更改为 .babelrcbabel.config.json 文件都没有任何区别
  • 一直在尝试 tsconfig 设置,但运气不佳

目前我的项目非常简单,仅包含从 yarn expo init -t expo-template-blank-typescript 下载的样板模板。看起来像

src
components
index.ts
TestButton.tsx
util
index.ts
ThemesProvider.tsx
index.ts
App.tsx
tsconfig.json
.eslintrc
babel.config.js
...

如能提供任何帮助,我将不胜感激,我认为它非常小,但我已经调整设置一段时间了,不知道设置有什么问题。

最佳答案

我想只是弄明白了,似乎我只需要从 tsconfig 中删除 include 属性 ... 不确定为什么

关于reactjs - React Native - 找不到模块 X 或其相应的类型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69861739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com