Я могу воспроизвести это, и я, честно говоря, немного удивлен этим. У меня было бы то же предположение, что и у вас, что это «просто сработает». Я ожидал, что, поскольку в этом случае мы используем расширение «Remote — WSL», расширение обработает преобразование пути. К сожалению, похоже, это не так.
Расширения VSCode могут просто не иметь возможности изменять путь к файлам, когда Другие (без расширения) над файлом действуют действия.
Итак, на самом деле происходит то, что путь, который передается вашему браузеру Windows, файл://home/pypy/books/paper.html
, и браузер Windows не найдет файл по этому пути. Как вы уже поняли, для браузера Windows это должно выглядеть так:
файл://wsl$/ubuntu/home/pypy/books/paper.html
# или же
файл://wsl.local/ubuntu/home/pypy/books/paper.html
# Часть «ubuntu» может отличаться в зависимости от вашего точного имени дистрибутива
Боковое примечание: %24
то, что вы видите, является просто URL-кодированной формой $
.
Есть несколько решений:
Во-первых, простым решением является использование Remote-WSL: повторно открыть в папке в Windows действие:
- В VSCode нажмите Ctrl+Сдвиг+п чтобы открыть палитру команд
- Начните печатать "открыть" и выберите вариант Remote-WSL: повторно открыть в папке в Windows
- Снова запустите свой HTML-проект через F5
Браузер должен нормально открываться с помощью Окна (а не WSL/Linux).
Второй вариант, который вы обычно будете использовать по мере продвижения в разработке HTML, — запустить локальный веб-сервер. Это позволит вам разрабатывать в более «реальной» среде, что вам нужно сделать, чтобы многие функции работали (например, Node и его различные веб-фреймворки, такие как Svelte, React и т. д. и т. д. и т. д.).
Повлияет ли это на мой веб-сайт в будущем? Не вызовет ли это проблем с хостингом?
Ну, честно говоря, это мог, но не в том случае, если вы делаете что-то "правильно". Это нужно для того, чтобы пути в вашем HTML были родственник в каталог файла. Например, вы мог обратиться к файлу изображения в подкаталоге файла HTML, указав:
<img src="file://wsl.local/ubuntu/home/pypy/books/images/logo.png" />
И это будет работать при просмотре файла локально на вашем компьютере. Конечно, это не удастся, если вы разместите его на реальном веб-сервере.
Вместо этого используйте относительный путь:
<img src="images/logo.png" />
... который будет работать как в VSCode при локальном просмотре (по крайней мере, после выбора Повторно открыть в папке в Windows) и при размещении в Интернете.