3

想象两个项目(例如 my-app 和 my-ui)使用 webpack 别名将“组件”解析为“./src/components”。我使用 Lerna 在本地“链接”这个项目并简化开发,my-ui 是 my-app 的依赖项(设置在它的 package.json 中)并像这样导入:

我的应用

/src/main.js :

import UI from 'my-ui';

我的用户界面

/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);
4

0 回答 0