想象一下两个项目(例如my-app和my-ui)使用webpack别名来解析组件' as' ./ src / components'。我在当地使用Lerna" link"这个项目和简化开发,my-ui是my-app的依赖项(设置在它的package.json中)并导入如下:
MyApp的
/src/main.js:
import UI from 'my-ui';
MyUI
/src/main.js
import Button from 'components/button';
export default Button;
/src/components/button/main.js
export default class Button...
当MyApp启动时,MyUI尝试在" MyApp / src / components / "中解析Button。而不是" MyApp / node_modules / my-ui / src / components "或" MyApp / node_modules / my-ui / lib / app.js "。我找不到如何解决这个问题!
我的Webpack配置中的解析部分:
resolve: {
mainFiles: ['index', 'main'],
extensions: ['.js', '.jsx'],
alias: {
lib: helpers.getPath('src/lib/'),
components: helpers.getPath('src/components/'),
},
modules: [
helpers.getPath('src'),
helpers.getPath('node_modules'),
],
},
getPath方法的位置为:
const path = require('path');
const projectPath = path.resolve(__dirname, '..');
const getPath = path.join.bind(path, projectPath);