我希望能够使用网络包别名解决导入时使用 jest,并最佳地参考 webpack.aliases
,以避免重复。
开个玩笑:
"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'
我试过使用 玩笑,网络包,化名,巴别尔插件模块解析器和 玩笑/网络包文档