, Я попробовал псевдоним подход .. не повезло. Я, наверное, упускаю что-то простое. Любая помощь приветствуется.

возможность использовать псевдонимы веб-пакетов для разрешения импорта при использовании jest и оптимально ссылаться наwebpack.aliases чтобы избежать дублирования.

Шутка конф:

  "jest": {
    "modulePaths": ["src"],
    "moduleDirectories": ["node_modules"],
    "moduleNameMapper": {
      "^@shared$": "<rootDir>/shared/",
      "^@components$": "<rootDir>/shared/components/"
    }
  },

Псевдонимы веб-пакетов:

exports.aliases = {
    '@shared': path.resolve(paths.APP_DIR, 'shared'),
    '@components': path.resolve(paths.APP_DIR, 'shared/components'),
};

Импорт:

import Ordinal from '@shared/utils/Ordinal.jsx';
import Avatar from '@components/common/Avatar.jsx';

По какой-то причине@ вызывает проблемы, поэтому при удалении (как псевдоним и импорт), он может найтиshared ноcomponents все еще не может быть решена.

 FAIL  src/shared/components/test/Test.spec.jsx
  ● Test suite failed to run

    Cannot find module '@shared/utils/Ordinal.jsx' from 'Test.jsx'

Я пытался использоватьШутка-WebPack псевдоним, столпотворение-плагин-модуль-распознаватель иJest / Webpack документы

Ответы на вопрос(3)

Ваш ответ на вопрос