【问题标题】:what exactly is a static web server?究竟什么是静态 Web 服务器?
【发布时间】:2013-11-06 07:59:41
【问题描述】:

目前我一直在尝试使用 grunt 并将使用 grunt-contrib-qunit 似乎它需要 grunt-contrib-connect。

我真正感到困惑的是 grunt-contrib-connect 启动了一个 static 网络服务器。 静态这个词真的让我感到困惑。在开发过程中,我的 static 文件(例如图像、html、css、js 等)是否需要 Web 服务器?

我目前正在学习 PHP,并且正在使用 xampp,其中包括 apache。它与 Apache 等 Web 服务器有何不同?由于我认为它们将使用不同的端口,我可以并排使用它们吗?

【问题讨论】:

    标签: web gruntjs


    【解决方案1】:

    Connect 是一个用 JavaScript 和 Node.js 编写的服务器。有一个nice introduction over here,加上this simple tutorial。与本地 apache/nginx 设置相比,使用它的优点是配置要少得多;许多 Node 项目完全是用 HTML/CSS/JavaScript 编写的,因此它们不需要额外的东西(PHP、MySQL 等)。这意味着您可以在几分钟内启动并运行,您可以创建任意数量的服务器,以运行需要在服务器上的应用程序。

    确实,grunt-contrib-connect documentation 为您提供了在不同端口上运行多个服务器的示例:

    grunt.initConfig({
      connect: {
        site1: {
          options: {
            port: 9000,
            base: 'www-roots/site1'
          }
        },
        site2: {
          options: {
            port: 9001,
            base: 'www-roots/site2'
          }
        }
      }
    });
    

    您将能够使用本地 xampp 安装运行连接服务器,前提是您不覆盖运行 apache 安装的端口(我相信端口 80 是默认端口,所以任何其他端口都可以)好的)。

    【讨论】:

    • 我对拥有 2 台同时运行的服务器有疑问。假设我运行 localhost:80/MyProject/index.php 然后我还使用 livereload 在端口 4000 上运行 grunt connect。当我在 localhost:80 上时如何触发 livereload?
    • 您想要的是可以在浏览器中打开/关闭的 livereload 扩展:feedback.livereload.com/knowledgebase/articles/… - 就我个人而言,我没有同时在两个 livereload 实例上工作,所以我不知道这是否有效与否,所以试一试,看看会发生什么。 :)
    【解决方案2】:

    完全是静态网络服务器是只提供静态内容的网络服务器:任何文件(包括 html、js、css)在它们的那一刻可用是客户要求的。

    静态网络服务器并不意味着提供动态生成的内容,这些内容不存在但需要即时构建(例如,在从数据库,使用服务器端语言,如 PHP 等)。

    【讨论】:

      猜你喜欢
      • 2017-07-29
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 2014-03-11
      • 2013-06-11
      • 2014-10-28
      相关资源
      最近更新 更多