Автоматический импорт общих библиотек не работает в NX

Создал монорепозиторий NX с общей библиотекой в ​​nextjs, typescript ("@nx/next": "16.5.1",). Компоненты, расположенные в общей библиотеке, можно импортировать в основное приложение, написав оператор импорта вручную, например:import { Typography } from '@frontend/jsx-core';

Но я не хочу каждый раз писать оператор импорта, но не могу понять, как его можно предложить при автоимпорте vscode. У меня есть старый проект, где он работает "@nrwl/next": "15.6.3". Так что должно быть возможно..

Я сомневаюсь, что это настройка vscode, потому что в старом проекте она работает, а в новом - нет. Также создал новый проект с"@nrwl/next": "15.6.3", чтобы увидеть, работает ли это. Но здесь та же проблема. Поэтому мне действительно интересно, почему импорт предлагается в старом проекте, а не в новых.

Новый проект без автоматического импорта (ветвь: Feature/shared-lib): https://github.com/RowinVanAmsterdam/gamesource

Старый проект:https://github.com/koiosonline/koios.world--leg

Также проверил каждый файл конфигурации, если увидел какую-либо разницу, и попытался скопировать. Но пока не повезло.

Еще одно замечание: как только я импортировал общий компонент вручную и захотел добавить дополнительный общий компонент, автоматический импорт/предложение работает. Просит обновить уже существующий импорт.

ts.config.json:

        "compileOnSave": false,
  "compilerOptions": {
    "rootDir": ".",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "module": "esnext",
    "lib": ["es2020", "dom"],
    "skipLibCheck": true,
    "skipDefaultLibCheck": true,
    "baseUrl": ".",
    "paths": {
      "@frontend/jsx-core": ["libs/jsx-core/src/index.ts"]
    }
  },
  "exclude": ["node_modules", "tmp"]
}

ts.config.json:

      {
  "extends": "../../tsconfig.base.json",
  "compilerOptions": {
    "jsx": "preserve",
    "allowJs": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "incremental": true,
    "plugins": [
      {
        "name": "next"
      }
    ],
    "types": ["jest", "node"]
  },
  "include": [
    "**/*.ts",
    "**/*.tsx",
    "**/*.js",
    "**/*.jsx",
    "../../apps/platform/.next/types/**/*.ts",
    "../../dist/apps/platform/.next/types/**/*.ts",
    "next-env.d.ts"
  ],
  "exclude": [
    "node_modules",
    "jest.config.ts",
    "src/**/*.spec.ts",
    "src/**/*.test.ts"
  ]
}

tsconfig.spec.json:

      {
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "../../dist/out-tsc",
    "module": "commonjs",
    "types": ["jest", "node"],
    "jsx": "react"
  },
  "include": [
    "jest.config.ts",
    "src/**/*.test.ts",
    "src/**/*.spec.ts",
    "src/**/*.test.tsx",
    "src/**/*.spec.tsx",
    "src/**/*.test.js",
    "src/**/*.spec.js",
    "src/**/*.test.jsx",
    "src/**/*.spec.jsx",
    "src/**/*.d.ts"
  ]
}

1 ответ

Проблема устранилась сама собой, был создан другой проект без каких-либо проблем, и после этого проблема больше не существовала.

Другие вопросы по тегам