Microsoft/vscode

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

Open

#169 117 ouverte le 14 déc. 2022

Voir sur GitHub
 (5 commentaires) (5 réactions) (1 assigné)TypeScript (10 221 forks)batch import
bughelp wantedhtml

Métriques du dépôt

Stars
 (74 848 stars)
Métriques de merge PR
 (Merge moyen 11h 43m) (1 000 PRs mergées en 30 j)

Description

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>

Guide contributeur