Sourcemaps ออกทีละบรรทัดใน 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ที่พิจารณาเส้นมัน คุณอาจต้องเลือกคำจำกัดความหนึ่งคำและปรับค่าสำหรับสิ่งที่ได้ผลในทางอื่น
Carl Smith

3
หากมีวิธีปรับค่าที่เบราว์เซอร์ใช้สำหรับหมายเลขบรรทัดในซอร์สแมปนั่นอาจช่วยแก้ปัญหาได้ ตั้งแต่นั้นมาฉันได้ทำการทดสอบและดูเหมือนว่าเมื่อใช้ Rails โดยไม่มี Sprockets ประมวลผล JS ที่สร้างโดย webpack ปัญหาจะหายไป หมายเลขบรรทัดจะปิดเมื่อใช้ทั้ง webpack และ sprockets เท่านั้น
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 ให้ลองใช้เวอร์ชันล่าสุดและในการกำหนดค่า webpack ของคุณให้ลองใช้ซอร์สแมปอื่นบน devtool ลองใช้สิ่งเหล่านี้ทั้งหมดเพื่อดูว่ามีอันใดที่ใช้ได้กับแผนผังแหล่งข้อมูลแบบอินไลน์:

  • อินไลน์แหล่งที่มาแผนที่

  • ราคาถูกอินไลน์แหล่งแผนที่

สำหรับการกำหนดค่าอื่น ๆ ที่แตกต่างกัน:

  • ราคาถูกแหล่งแผนที่

  • ราคาถูกโมดูลแหล่งแผนที่

  • ราคาถูกโมดูลประเมินแหล่งที่มาแผนที่

บน webpack config:

{

...

devtool:'source-map'

...

}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.