У меня проблемы с WebPack и экспортированные классы с использованием библиотеки модулей UMD. Проблема в том, что когда я пытаюсь загрузить упакованный пакет в браузер, тогда экспортируемый объект пуст (нет свойств, которые бы соответствовали экспортированным объектам).Нет экспортированных типов в модуле UMD с использованием WebPack, Babel и ES2015
Я создал простой проект тестирования для этого:
Структура проекта
~/Playground/webpack-exports-test tree -I node_modules
.
├── build
│ ├── test.html
│ ├── testlib.js
│ └── testlib.js.map
├── bundle.js
├── package.json
├── src
│ ├── a.js
│ └── b.js
└── webpack.config.js
webpack.config.js
let path = require('path');
let libraryName = 'testlib';
let bundleName = libraryName + '.js';
module.exports = {
context: __dirname,
entry: './bundle.js',
output: {
path: path.join(__dirname, 'build'),
filename: bundleName,
library: libraryName,
libraryTarget: 'umd',
umdNamedDefine: true
},
devtool: 'source-map',
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015']
}
}
]
}
};
package.json
{
"name": "webpack-exports-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.18.0",
"webpack": "^1.13.3"
}
}
SRC/a.js
export class A {
}
SRC/b.js
import {A} from './a.js'
export class B extends A {
}
bundle.js
import {A} from './src/a.js'
import {B} from './src/b.js'
Когда я попытался отладить код, сгенерированный WebPack, тогда кажется, что объекты класса правильно созданы, переданы в exports
, но ничего не возвращается глобальному объекту.
Любая помощь пожалуйста?