Score:2

ปัญหาการเปิดโค้ด HTML ผ่านเบราว์เซอร์โดยใช้ Visual Studio Code

ธง br

ฉันใช้ Ubuntu กับ WSL

ภายใน Ubuntu ฉันมี:

  • สร้างไดเร็กทอรีสำหรับรหัสของฉันและ ซีดีต้องการมัน
  • ดำเนินการ รหัส เพื่อเริ่มทำงานในโครงการ HTML ใน VSCode

อย่างไรก็ตาม เมื่อฉันใส่โค้ดในเทมเพลต HTML5 และพยายามเรียกใช้ โค้ดไม่เปิดในเบราว์เซอร์ของฉัน ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

ไม่พบไฟล์. อาจถูกย้าย แก้ไข หรือลบออก

เมื่อฉันคัดลอกพาธจากไฟล์ HTML ใน VSCode แล้วลองวางในเบราว์เซอร์ มันก็ยังใช้งานไม่ได้

อย่างไรก็ตาม เมื่อฉันคลิกขวาที่ไฟล์ HTML แล้วเปิดผ่าน เปิดเผยใน Explorer จากนั้นคัดลอกและวาง URL จากที่นั่นลงในเบราว์เซอร์ ใช้งานได้

มีชื่อ WSL ในเส้นทาง

ทำไมฉันไม่สามารถเปิดใน VSC ได้ ไม่พบในเบราว์เซอร์ด้วยวิธีนี้ แต่เมื่อมันเป็นเช่นนี้:

ไฟล์://wsl%24/Ubuntu/home/pypy/books/paper.html

….เดี๋ยวก็เจอเอง

ฉันสับสนว่าทำไมสิ่งนี้จึงเกิดขึ้นและผลที่ตามมาในระยะยาวของสิ่งนี้สิ่งนี้จะส่งผลกระทบต่อเว็บไซต์ของฉันในอนาคตหรือไม่ มันจะทำให้เกิดปัญหาการโฮสต์หรือไม่? ฉันจะแก้ไขปัญหานี้ได้อย่างไร

Score:2
ธง vn

ฉันสามารถทำซ้ำสิ่งนี้ได้และฉันรู้สึกประหลาดใจเล็กน้อย (เล็กน้อย) กับมัน ฉันจะมีสมมติฐานเดียวกับคุณว่าสิ่งนี้จะ "ใช้งานได้" ฉันคาดว่าเนื่องจากเราใช้ส่วนขยาย "ระยะไกล - 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
# ส่วน "อูบุนตู" อาจแตกต่างกันไปขึ้นอยู่กับชื่อการแจกจ่ายที่แน่นอนของคุณ

หมายเหตุด้านข้าง: The %24 ที่คุณเห็นเป็นเพียงรูปแบบการเข้ารหัส URL ของ $.

มีวิธีแก้ไขหลายประการ:

  • อันดับแรก วิธีแก้ปัญหาง่ายๆ คือการใช้ WSL ระยะไกล: เปิดใหม่ในโฟลเดอร์ใน Windows หนังบู๊:

    • ใน VSCode กด Ctrl+กะ+พี เพื่อเปิด Command Palette
    • เริ่มพิมพ์ "เปิดใหม่" แล้วเลือกตัวเลือก 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) และเมื่อโฮสต์บนเว็บ

br flag
ขอขอบคุณสำหรับความช่วยเหลือ!
Score:2
ธง cn

โดยปกติ HTML, JS, CSS ฯลฯ จะถูกส่งไปยังเบราว์เซอร์ผ่านเว็บเซิร์ฟเวอร์ ดังนั้นจึงเป็นการดีที่จะใช้ในขณะพัฒนาเพจหรือแอปพลิเคชันของคุณ

โชคดีที่มีส่วนขยายสำหรับ VSC ที่เรียกว่า เซิฟเวอร์สด ที่ทำให้สิ่งต่าง ๆ ง่ายขึ้น เนื่องจากไฟล์ของคุณอยู่ภายใน WSL จึงควรติดตั้งส่วนขยายในอินสแตนซ์ WSL (ระยะไกล) นี่คือวิดีโอสั้น ๆ เกี่ยวกับวิธีติดตั้งและวิธีใช้งาน

ป้อนคำอธิบายรูปภาพที่นี่

ขณะที่ Live Server กำลังทำงาน แท็บของเบราว์เซอร์ที่เกี่ยวข้องจะถูกโหลดซ้ำโดยอัตโนมัติเมื่อคุณบันทึกการเปลี่ยนแปลงใดๆ ภายในโครงการ

NotTheDr01ds avatar
vn flag
เห็นด้วยอย่างยิ่งว่า "วิธีที่ถูกต้อง" คือการใช้เซิร์ฟเวอร์ แต่ฉันคิดว่าการเปิดไฟล์ HTML ในเบราว์เซอร์จากระบบไฟล์นั้นเป็น "ขั้นตอนแรก" ตามธรรมชาติ (และยอมรับได้) สำหรับผู้ที่เพิ่งเริ่มต้น
pa4080 avatar
cn flag
ขอบคุณสำหรับบันทึกนั้น @ NotTheDr01ds ฉันเปลี่ยนข้อความนำของคำตอบแล้ว
br flag
เฮ้ ขอบคุณทุกคนสำหรับความช่วยเหลือ ฉันซาบซึ้งจริงๆ ขอโทษที่ใช้เวลานานมากในการกลับไปหาพวกคุณ ขอขอบคุณ!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา