Was ist der Grund, warum Live-Server in der React-Anwendung nicht verwendet werden können?
P粉131455722
2023-08-28 10:32:47
<p>Ich weiß, dass es nicht möglich ist, eine React-Anwendung über einen Live-Server bereitzustellen. Mit anderen Worten: Selbst wenn die js gebündelt und mit der HTML-Datei verknüpft sind, wird der React-Code nicht gerendert, wenn Sie die Datei statisch öffnen. </p>
<p>Ich habe etwas über statische und dynamische Server gelernt, aber da React alles auf dem Client geschieht, kann ich nicht verstehen, warum die Bereitstellung der App über Webpack, Vite oder sogar einen einfachen Express-Server funktionieren würde, aber nicht über einen Live-Server , kann auch nicht manuell geöffnet und bearbeitet werden. </p>
<p>Was ist der Unterschied? </p>
区别在于JavaScript代码在浏览器中的执行方式。当你通过webpack开发服务器、express服务器或任何其他类型的服务器提供React应用程序时,JavaScript代码在网页的上下文中执行,可以访问DOM和所有的Web API。
但是,当你静态地打开一个HTML文件时,JavaScript代码在一个隔离环境中执行,对Web API的访问是有限的。这就是为什么依赖于DOM和Web API的React代码在手动打开时无法工作。
Webpack、vite和express提供了一个动态环境,具备React运行所需的所有必要API和服务。这是通过将应用程序作为网页通过HTTP提供,然后由浏览器加载和执行。