Webpack 3.3 и NodeJs 8.1. Кросс-файловое наследование дает TypeError? - PullRequest
0 голосов
/ 01 июня 2018

Так что у меня странная ошибка с Webpack 3.3 и NodeJS 8.10 (работает на AWS Lambda).Сообщение об ошибке:

module initialization error: TypeError
at Object.<anonymous> (/var/task/presenters/api/financial/posts.js:6480:55)
at __webpack_require__ (/var/task/presenters/api/financial/posts.js:20:30)
at Object.<anonymous> (/var/task/presenters/api/financial/posts.js:6134:21)
at __webpack_require__ (/var/task/presenters/api/financial/posts.js:20:30)
at Object.<anonymous> (/var/task/presenters/api/financial/posts.js:6287:24)
at __webpack_require__ (/var/task/presenters/api/financial/posts.js:20:30)
at DEFAULT_DESCRIPTION (/var/task/presenters/api/financial/posts.js:63:18)
at Object.<anonymous> (/var/task/presenters/api/financial/posts.js:66:10)
... truncated

Строка 6480 файла веб-пакета:

const FinancialEvent = __webpack_require__(59);
// Other requires removed for clarity.
const {
  financial: {
    environments
  }
} = __webpack_require__(14);class DwollaEvent extends FinancialEvent {

Более того, в родительском файле класса FinancialEvent.js есть:

class FinancialEvent extends Object {
 // Truncated for clarity.
}
module.exports = FinancialEvent;

Если я исключу это межфайловое наследование, ошибка исчезнет:

const FinancialEvent = __webpack_require__(59);
// Other requires removed for clarity.
const {
  financial: {
    environments
  }
} = __webpack_require__(14);
class DummyParent extends Object {
}

class DwollaEvent extends DummyParent {

Ошибка также прекратится, если я скопирую класс FinancialEvent в DwollaEvent.js и напрямую обращусь к нему.

Это известная проблема с Webpack и межфайловым наследованием в NodeJS?у кого-нибудь есть решение?Как вы знаете, обновление до Webpack 4.0 на данный момент не является решением из-за значительных изменений, внесенных в файлы конфигурации и т. Д. Обновление NodeJS не является решением, поскольку именно это поддерживает AWS Lambda.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...