Microsoft/vscode

[html] "Cannot redeclare block-scoped variable" in script type module

Open

#169.117 geöffnet am 14. Dez. 2022

Auf GitHub ansehen
 (5 Kommentare) (5 Reaktionen) (1 zugewiesene Person)TypeScript (10.221 Forks)batch import
bughelp wantedhtml

Repository-Metriken

Stars
 (74.848 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 11h 43m) (1.000 gemergte PRs in 30 T)

Beschreibung

Does this issue occur when all extensions are disabled?: Yes

System:

  • VS Code Version: Version: 1.74.0
  • OS Version: macOS 13.0.1

Steps to Reproduce:

  1. Create a new HTML file
  2. Add two <script type="module"> and declare a variable with the same name in both (see example code below).
  3. Observe the red squiggly line underneath the variable names saying Cannot redeclare block-scoped variable.
image

When a script tag has the type attribute set to "module", the source text should be treated as an ES module with it's own scope, not the global scope.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-type https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#other_differences_between_modules_and_standard_scripts

Example HTML

<!DOCTYPE html>
<script type="module">
  const x = 1;
</script>
<script type="module">
  const x = 2;
</script>

Contributor Guide