ES6 type=module Crushs Syntax Error Stack Trace (Chrome 61)

Этот вопрос предполагает, что Chrome 61 не поддерживает загрузку модуля ES6, но что кажется, противоречит здесь, здесь и здесь. В любом случае, это не мой вопрос, поскольку, похоже, он работает в моем текущем коде.

Вопрос в следующем: когда я загружаю скрипт с type="module", моя трассировка стека на загруженном скрипте исчезает. Например:

index.html
---
<script type="module" src="app.js"></script>

app.js
---
import ErrorModule from "../../modules/error-module.js"

error-module.js
--
//console.log"(syntax error");
throw new Error("thrown error");

С приведенным выше кодом выброшенная ошибка работает отлично. Однако, если я раскомментирую синтаксическую ошибку, моя трассировка стека будет уничтожена, и все, что я увижу, это: Не очень полезно

Как я могу получить полную трассировку стека, чтобы выследить эти надоедливые синтаксические ошибки в Chrome 61 с модулями?


person Michael.Lumley    schedule 08.10.2017    source источник
comment
В вашей строке журнала цитата находится не в том месте, это синтаксическая ошибка в строке 1, как и говорится в ошибке.   -  person loganfsmyth    schedule 08.10.2017
comment
@loganfsmyth Я думаю, это было бы то же самое, даже если бы плохой импорт не был в строке 1. Обратите внимание, что синтаксическая ошибка была в error-module.js, но она показана в app.js, а строка 1 является поддельной throw e. Это раскрывает интересные подробности о реализации модуля Chrome, я не помню, что об этом говорится в спецификациях)   -  person Estus Flask    schedule 08.10.2017
comment
Это, конечно, кажется далеким от идеала, но этот материал все еще очень новый, так что я не так уж удивлен.   -  person loganfsmyth    schedule 08.10.2017
comment
@loganfsmyth - цель строки журнала - вызвать синтаксическую ошибку, так что это преднамеренная ошибка. @estus прав, что он выдает строку 1 независимо от того, где на самом деле возникает ошибка, и что он выдает из модуля app.js, а не из любого подмодуля.   -  person Michael.Lumley    schedule 08.10.2017


Ответы (1)


Эта проблема, похоже, была решена теперь, когда я обновился до Chrome 62, поэтому похоже, что это была проблема с реализацией модуля Chrome ES6.

person Michael.Lumley    schedule 04.11.2017