我期待能够使用的WebPack别名使用时开玩笑地解决进口,最优地引用webpack.aliases
,以避免重复。测试用玩笑和别名的WebPack
玩笑的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
,因为你使用的WebPack-2使用'变换ES2015模块,commonjs'在ENV:测试?见:使用与 - 的WebPack-2](https://facebook.github.io/jest/docs/webpack.html#using-with-webpack-2) – birdspider
的可能的复制http://stackoverflow.com/问题/ 33190795 /配置-开玩笑到模拟-的WebPack-决心根和 - 解决混叠 – hazardous
的''@符号表示[作用域包(https://docs.npmjs.com/misc/scope) ,通常在您的第三方包路径中进行搜索。 – hazardous