Webpack使用root之外的共享反应组件解析别名

时间:2017-08-16 16:27:15

标签: javascript reactjs webpack ecmascript-6 babeljs

我有两个项目app1app2

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

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

- MyComputer
|- app1
|- app2 
|- shared

shared有一组文件只对文件做出反应(没有npm modulespackage.json.babelrc)。

- shared
|- index.js
|- MyComponent
  |- MyComponent.js
  |- index.js

webpack.config.jsapp1内的app2都有

  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,
        },
      },

使用此配置时,webpack不知道如何处理shared内的文件,因此会出现unexpected token <MyComponent>等错误

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

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

如何在root之外拥有共享组件?因为每次我在shared文件夹中进行更改时,我都无法复制app1app2内的shared文件夹。

0 个答案:

没有答案