Экспорт библиотеки React с помощью Webpack: экспорт MyComponent не найден - PullRequest
0 голосов
/ 26 апреля 2019

Я использую Webpack 4.30.0, Babel 7 и React для создания lib (который работает локально, благодаря Storybook).Я буду использовать эту библиотеку в другом месте.Вот конфигурация сборки, которую я использую:

.babelrc

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}

package.json (пример)

{
  "name": "mylib",
  "version": "1.6.0",
  "main": "dist/main.js",
  "scripts": {
    "build": "webpack --mode production"
  }
}

webpack.config.js

const path = require("path");
module.exports = {
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      }
    ]
  },
  entry: "./src/index.js",
  output: {
    path: path.resolve(__dirname, "dist/"),
    publicPath: "",
    filename: "main.js",
    libraryTarget: "umd",
    umdNamedDefine: true,
    globalObject: "typeof self !== 'undefined' ? self : this"
  },
  externals: [
    {
      react: {
        root: "React",
        commonjs2: "react",
        commonjs: "react",
        amd: "react"
      },
      "react-dom": {
        root: "ReactDOM",
        commonjs2: "react-dom",
        commonjs: "react-dom",
        amd: "react-dom"
      }
    }
  ]
};

src / index.js

import MyComponent from "./MyComponent";
// ...

export {
  MyComponent,
  // ...
}

Когда я пытаюсь импортировать эту библиотеку в другое место (в другом проекте), происходит сбой («экспорт MyComponent не найден» или «не определено»).

import { MyComponent } from "react-elasticsearch"; // FAILS

Что я могу сделать, чтобы мои экспортные работы работали?

...