Я некоторое время боролся с проблемой, которая, как мне кажется, вызвана Webpack.Webpack вызывает синтаксическую ошибку в выходе пакета
По сути, у меня есть приложение на основе узла, которое я собираю с помощью Webpack для обслуживания клиента (это приложение на основе ReactJS). Проблема возникла, когда я установил пакет NPM Tabletop и require
d it.
При попытке загрузить Webpack созданный bundle.js
в браузере, я получаю ошибку синтаксиса:
Uncaught SyntaxError: Unexpected identifier
, который жалуется на этой линии в bundle.js
:
target[capName] = __webpack_require__(387)(""path + '/' + name);
После некоторого рытья я обнаружил, что эта строка берется из строки в библиотеке Hoek (которая является субзависимостью T abletop):
target[capName] = require(path + '/' + name);
Очевидно, что Webpack сделал что-то в стиле фанк здесь.
Однако я не смог изолировать причину. Tabletop включает в себя an example использования NodeJS, с которым я был в состоянии Webpack и работает нормально.
Я также клонировал Hoek и Webpacke'd, не видя никаких незаконных преобразований, подобных приведенным выше.
Итак, я не уверен, что это проблема с Webpack, Hoek или Tabletop, поэтому я размещаю ее здесь.
Я не нахожу никаких связанных вопросов, здесь или по GH.
Вся помощь оценивается!
Это динамичная проблема. Постепенный веб-пакет по умолчанию не поддерживает динамические требования (например: require (not + 'a + + fixed +);) Однако можно использовать плагин, чтобы научить его обращаться с ними. См. Https://github.com/webpack/webpack/issues/118 и https://github.com/webpack/webpack/search?q=dynamic+require&type=Issues&utf8=%E2%9C%93 – generalhenry
Поскольку код создается webpack, это явно ошибка, и ее следует сообщать в Github. Также отправьте свой конфиг, потому что я предполагаю, что он вызван определенной опцией. –
Спасибо за информацию. Я согласен, что это ошибка @jhnns, но, как показано в ссылках, предоставленных @generalhenry, я явно не первый, кто испытал это. Я понял, что Tabletop имеет устаревшую зависимость 'request' - я использую Tabletop для обновления и вижу, как это работает. Будет опубликован после завершения. –