Как правильно импортировать общий внешний компонент реакции внутри приложения реакции в монорепозитории NX?

Я использую NX для создания интегрированного монорепозитория . Я создал приложение для реагирования, используя флаг --js, затем я изменил файлы js на jsx. После того, как я создал общий компонент в папке libs с помощью этой команды и флага --js, я заменил все js на jsx. Однако, когда я пытаюсь импортировать, я получаю эту ошибку:

  Executing task: npx nx run myapp:serve 


> nx run myapp:serve:development

  ➜  Local:   http://localhost:4200/
Error: The following dependencies are imported but could not be resolved:

  @demo-2/mylibrary (imported by /home/user/Desktop/demo-2/apps/myapp/src/app/app.jsx)

Are they installed?
    at file:///home/user/Desktop/demo-2/node_modules/vite/dist/node/chunks/dep-f7d05e3f.js:44138:23
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///home/user/Desktop/demo-2/node_modules/vite/dist/node/chunks/dep-f7d05e3f.js:43547:38

Как я могу это решить? Я понятия не имею.

Мой tsconfig.base.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": {
      "@demo-2/mylibrary": [
        "libs/mylibrary/src/index.jsx"
      ],
      "@myorg/is-even": [
        "libs/is-even/src/index.js"
      ],
      "odd": [
        "libs/odd/src/index.js"
      ],
      "odd2": [
        "libs/odd2/src/index.js"
      ]
    }
  },
  "exclude": [
    "node_modules",
    "tmp"
  ]
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если кому-то это понадобится в будущем, я добавляю свое решение здесь:

Я создаю новый проект с помощью NX, в качестве сборщика выбрал webpack. Моя первоначальная настройка NX выглядит так:


 >  NX   Let's create a new workspace [https://nx.dev/getting-started/intro]

✔ Choose what to create                 · integrated
✔ What to create in the new workspace   · react-monorepo
✔ Repository name                       · repo_name
✔ Application name                      · app_name
✔ Bundler to be used to build the application · webpack
✔ Default stylesheet format             · scss
✔ Enable distributed caching to make your CI faster · No

После того, как я создал компонент реакции в JS с помощью этой команды nx generate @nx/react:library mylibrary --js, а также новое приложение реакции в js (по умолчанию входит в ts) с флагом --js.

После того, как я импортировал компонент mylibrary в новое приложение и изменил файл tsconfig.tools.json: я добавил js в список подключаемых файлов следующим образом: "include": [ "**/*.ts", "**/*.js" ]

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