Я использую 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
Что я могу сделать, чтобы мои экспортные работы работали?