Карти джерел вимкнені на один рядок у Chrome, з Ruby on Rails, Webpack та React JS


96

У мене виникла проблема, коли вихідні карти, створені Webpack за допомогою inline-source-mapналаштувань конфігурації, вимикаються на один рядок, коли я використовую налагоджувач Chrome devtools. Webpack встановлюється всередині програми Ruby on Rails для створення об'єднаного, немініфікованого файлу JavaScript, що складається з декількох десятків модулів. Більшість із цих модулів є компонентами ReactJS і аналізуються jsxзавантажувачем. Потім результати з Webpack включаються у application.jsфайл разом з деякими іншими бібліотеками JavaScript, створеними самоцвітами.

Коли я використовую eval-source-map, немає проблем. Щось із використанням inline-source-mapпричин номера рядків скидаються на один.

Перевірка JavaScript, який не є компонентом React, все ще має цю проблему, тому я не думаю, що це пов'язано з використанням jsx.


4
Звучить так, ніби одна сторона вважає перший рядок лінією, 0а інша - лінією 1. Можливо, вам доведеться просто вибрати одне визначення та відкоригувати значення для всього, що працює іншим способом.
Карл Сміт,

3
Якщо є спосіб налаштувати значення, яке браузер використовує для номерів рядків у вихідних картах, це потенційно може вирішити проблему. Також з тих пір я трохи напружувався, і здається, що при використанні Rails без зірочок, що обробляє JS, створений webpack, проблема зникає. Номер рядка вимикається лише при використанні веб-пакета та зірочок.
paradasia

1
Я поняття не маю. Я використовував вихідні карти CoffeeScript із бібліотекою JS з вихідною картою Mozilla. Все було прекрасно , за винятком того, що columnаргумент в наступному коді передається в 1 занадто висока: window.onerror = function(message, url, line, column){}. Зменшення це виправило. Примітка. Це стосується Chrome, я не знаю про інші браузери.
Carl Smith

2
Це, здається, пов’язано: github.com/plumberjs/plumber-requirejs/commit/… тим, що це виправило проблему для require.js
justingordon

1
Можливо, ви додаєте рядок заголовка десь у процесі, наприклад заяву про авторські права?
rogierschouten

Відповіді:


3

Виникла помилка в chrome, спробуйте останню версію, також у конфігурації веб-пакета спробуйте використати різні вихідні карти на devtool, спробуйте все це, щоб побачити, чи працює одна з вбудованих вихідних карт:

  • inline-source-map

  • дешево-вбудований-джерело-карта

для інших різних конфігурацій:

  • дешево-джерело-карта

  • дешевий-модуль-джерело-карта

  • дешевий-модуль-eval-джерело-карта

у конфігурації webpack:

{

...

devtool:'source-map'

...

}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.