Webpack使用根外部的共享React组件解析别名

Sli*_*ady 6 javascript ecmascript-6 reactjs webpack babeljs

我有两个项目app1app2

这两个项目都是不同的npm软件包。

我在shared文件夹中有一组共享的文件。

- MyComputer
|- app1
|- app2 
|- shared
Run Code Online (Sandbox Code Playgroud)

shared具有一组文件仅对文件起反应(no npm modulespackage.jsonor .babelrc)。

- shared
|- index.js
|- MyComponent
  |- MyComponent.js
  |- index.js
Run Code Online (Sandbox Code Playgroud)

我的两个webpack.config.js内部app1app2具有

  const sharedModule = path.resolve(__dirname, '../shared/');
  resolve: {
     alias: {
       'shared': sharedModule,
     },
   },
  ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [/node_modules/],
        loader: 'babel-loader',
        include: [sharedModule, path.join(__dirname, 'src')],
        query: {
          cacheDirectory: true,
        },
      },
Run Code Online (Sandbox Code Playgroud)

当使用这种配置的的WebPack不知道如何处理内部文件执行shared,从而使错误一样unexpected token <MyComponent>

现在,当我将我的shared文件夹复制到的根目录中时app1app2它会编译而没有任何错误。

即像这样 const sharedModule = path.resolve(__dirname, 'src/shared/')

我如何在根目录之外拥有共享组件?因为我无法维护将我的shared文件夹复制到内部,app1并且app2每次更改shared文件夹时都无法复制。