Webpack 4 + ES6 + Babel 7 = Uncaught TypeError: не является конструктором - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь использовать Webpack с Babel для переноса модуля для использования с тегом.Webpack переносится правильно, но когда я пытаюсь создать новый экземпляр, не работает.

Мой .babelrc:

{
  "presets": [
    [
      "@babel/env",
      { "modules": false }
    ]
  ],
  "plugins": []
}

Моя конфигурация в Webpack:

{
  test: /\.js$/,
  exclude: /(node_modules|bower_components|coverage)/,
  use: [
    {
      loader: 'babel-loader',
      options: {
        presets: [
          ['@babel/preset-env', { modules: false }]
        ]
      }
    }
  ]
}

Пример класса JS:

class Test {
  constructor(options) {
    this.init = options.init || '';
  }

  someMethod() {
    console.log('Working');
  }
}

В HTML-коде я помещаю тег сценария и вызываемый сценарий:

<script src="../dist/test.component.js"></script>
<script>
    var foo = new Test({
        init: "#hello"
    });
</script>

Инструменты разработчика показывают следующую ошибку:

Uncaught TypeError: Test не является конструктором

Я пробовал с некоторыми плагинами Babel или Webpack, но ничего.

Выходная конфигурация Webpack имеет

output: {
  path: path.resolve(__dirname, 'dist'),
  library: 'Test',
  libraryTarget: 'umd',
  umdNamedDefine: true
},

Ну, я не знаю, что случилось.

С уважением.

...