Я ищу, чтобы иметь возможность использовать псевдонимы webpack для разрешения импорта при использовании шутки и оптимально ссылаться на webpack.aliases
, чтобы избежать дублирования.
Jest conf:
"jest": {
"modulePaths": ["src"],
"moduleDirectories": ["node_modules"],
"moduleNameMapper": {
"^@shared$": "<rootDir>/shared/",
"^@components$": "<rootDir>/shared/components/"
}
},
Алиасы Webpack:
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'
Я попытался использовать jest-webpack-alias, babel-plugin-module-resolver и Jest/Webpack docs