#javascript #typescript #react-native #visual-studio-code #tsconfig
Вопрос:
Я настраиваю их babel.config.js, tsconfig.json, and .eslintrc.json
, они отлично работают с запуском и сборкой проекта, но при импорте не отображаются какие-либо предложения (intellisense). Пожалуйста, просмотрите и помогите мне исправить это. Итак, визуальный код sutio показывает intellisense, и я могу работать быстро.
.eslintrc.js
module.exports = {
root: true,
extends: ['airbnb', 'airbnb/hooks', '@react-native-community'],
settings: {
'import/resolver': {
alias: [
['assets', './assets'],
['components', './components'],
['screens', './screens'],
['utils', './utils'],
],
},
},
};
tsconfig.json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"jsx": "react-native",
"lib": [
"dom",
"esnext"
],
"moduleResolution": "node",
"noEmit": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"strict": true
},
"baseUrl": ".",
"paths": {
"assets/*": ["./assets/*"],
"components/*": ["./components/*"],
"screens/*": ["./screens/*"],
"utils/*": ["./utils/*"],
},
"exclude": ["node_modules"],
"extends": "expo/tsconfig.base"
}
babel.config.js
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: [
[
'module-resolver',
{
alias: {
assets: './assets',
components: './components',
screens: './screens',
utils: './utils',
},
},
],
],
};
};
Комментарии:
1. Попробуйте перезагрузить VSCode: ctrl shift P, затем введите «перезагрузить окно».
2. Как и в примечании, для сообщений eslint в vscode вам необходимо установить расширение eslint.
3. Работают ли вообще какие-либо предложения по импорту или только те, которые вы создали под псевдонимом? Если ни один из них не работает, не работает ли только импорт или вообще все языковые функции? Например, если вы наберете «con», появится ли он с такими вещами, как «консоль» и «const»…?
4. только импорт с псевдонимами не работает, другие импортные товары работают нормально. Да, установлено расширение eslint «@babel/core»: «^7.12.9», «@react-native-сообщество/eslint-конфигурация»: «^2.0.0», «@types/react»: «~17.0.21», «@types/react-native»: «~0.64.12», «eslint»: «^7.18.0», «eslint-конфигурация-airbnb»: «18.2.1», «eslint-импорт-распознаватель-псевдоним»: «^1.1.2», «eslint-плагин-импорт»: «^2.22.1», «eslint-плагин-jsx-a11y»: «^6.4.1», «eslint-плагин-реакция»: «^7.21.5», «eslint-плагин-реакция-крючки»: «4.0.0», «jest-expo»: «^43.0.0», «красивее»: «^2.2.1», «redux-регистратор»: «^3.0.6», «машинопись»: «~4.3.5»