Я использую свой файл JavaScript в качестве модуля:
<script type = "module" src = "main.js"></script>
но когда мой HTML загружается, любой объект внутри main.js
недоступен из консоли отладки браузера, говоря, что переменная не определена.
основной.js:
var MyVar = 10;
При установке точки останова в main.js
я могу нормально обращаться к объектам. Но потом программа останавливается, и я хочу кое-что манипулировать, пока все работает.
Как я могу получить доступ к (глобальным) объектам в файлах JavaScript, которые я включил как module
?
«Как я могу получить доступ к (глобальным) объектам в файлах JavaScript, которые я включил в качестве модуля?» - они не глобальные, в этом весь смысл модулей. Вы могли бы выставить несколько объектов, назначив их глобальным переменным, поможет ли это? Или вам действительно нужно выполнять произвольный код в области модуля?
@Bergi оба могли бы работать на меня сейчас (по крайней мере, чтобы лучше понять модуль в целом). Я пытался экспонировать объекты, но не нашел правильного способа сделать это.
Вы можете поставить точку останова в модуле, затем, когда программа будет остановлена, проверить область , чтобы найти объект, который вы ищете, затем щелкнуть правой кнопкой мыши и сохранить как глобальную переменную. Даже после продолжения выполнения объект будет доступен в глобальной области видимости под этой переменной. Вы также можете сделать это вручную, поставив присваивание window.myGlobal = interestingObject
либо непосредственно в код модуля, либо введя его в консоли при остановке на точке останова.
Попробуйте добавить следующую строку кода и поставить там точку останова, а затем попробуйте вести журнал консоли, когда отладчик достигнет точки останова.