#angular #reactjs #webpack #google-chrome-devtools #source-maps
#angular #reactjs #webpack #google-chrome-devtools #источник-карты
Вопрос:
Кто-нибудь знает, как просмотреть импорт es6 в chrome devtools в приложении webpack? например. import {map} from 'lodash'
и в devtools мы получаем Uncaught ReferenceError: map is not defined
в любой точке останова. Это может не зависеть от webpack.
Я пробовал настраивать исходные карты, но так и не смог заставить это работать. Изучение приложений Angular (2 ) и React, аналогичный опыт.
Для минимальных шагов репликации: любой может легко воспроизвести это с помощью angular cli или инструментов cli create-react-app — создайте пустой проект и начните отладку — проверьте импорт. Однако любое веб-приложение javascript, использующее импорт ES6, должно выполнять — ie. если у вас есть веб-приложение, и вы можете видеть, как определен импорт, пожалуйста, прокомментируйте.
Например, из быстрого запуска create-react-app https://github.com/facebook/create-react-app , просто запустите:
npx create-react-app my-app
cd my-app
npm start
Открыть, chrome devtools, открыть app.js , поставьте точку останова render
и попробуйте выполнить проверку React
.
При ссылке на Lodash выше, Lodash является простым примером зависимости npm, установленной с npm install lodash
помощью .
Комментарии:
1. Есть
lodash
ли внешняя зависимость в вашей конфигурации webpack?2.Я могу добавить пример, однако он будет просто воспроизводиться: github.com/facebook/create-react-app cli.angular.io developers.google.com/web/tools/chrome-devtools/javascript
3. @JonasWilms не уверен насчет «внешней зависимости в конфигурации webpack» — однако, похоже, на это стоит обратить внимание.
4. Один трюк, который я только что нашел, чтобы обойти это: добавьте свойство, например.
_ = {map}
в класс, затемthis._.map
будет доступен для проверки в точке останова в классе.5. @try-catch-наконец-то я добавил MVCE в описание, т.Е.. запустите create-create-app, откройте devtool, проверьте
React
— не определено. Однако любое веб-приложение с ES6 должно вести себя одинаково.