Chrome网络服务器,用于Chrome测试本地网络应用程序
如果你在你的电脑上编写HTML和JavaScript,并且在没有设置服务器的情况下在浏览器中测试输出,你可能会收到关于跨源请求的一些错误消息。您的浏览器将呈现HTML,运行JavaScript,jQuery或AngularJS Web应用程序,以及...阻止请求。
这是许多Web浏览器的常见行为,因为可能的跨站点攻击。这是可以理解的,因为它不聪明,允许有人从您的Web浏览器读取您的硬盘驱动器。对?
更具体的例子。假设,您使用自定义指令开发AngularJS Web应用程序。也许你正在快速测试一些AngularJS功能没有任何Web服务器。AngularJS在页面初始加载时加载自定义指令的HTML文件。
所有文件由AJAX从您的PC加载,所以您会看到一个错误消息,如“XMLHttpRequest无法加载 文件:/// C:/somefolder/somefile.html”。我有例如在浏览器控制台中的这些消息:
这是因为您的浏览器不允许对file:///的 AJAX请求。显然,您需要通过HTTP提供所有文件。最简单的解决方案是安装 Chrome的网络服务器。它通过网络从本地文件夹提供网页,使用HTTP,准确地救援。从Google网上应用店安装此小型服务器应用程序后 ,您将看到一个Web服务器图标。我有例如像
打开Chrome的网络服务器,然后选择要提供静态内容的目录。在我们的例子中,这是你的项目的主文件夹。
它现在能够流大型文件和处理范围请求。它也正确设置mime类型。导航到 http://127.0.0.1:8887您将看到您的项目的所有内容。假设,主文件称为 myapp.html。选择此文件后,您将看到网址 http://127.0.0.1:8887/myapp.html。
网络应用程序是好的,现在因为AngularJS的所有单独的文件包括或指令由AJAX通过HTTP流式传输。文件中的更改可以即时显示,无需任何重新启动或重新部署。
玩的开心!