如何在Apache Web服务器上正确部署Polymer CLI应用程序?

时间:2016-07-17 23:09:10

标签: apache deployment webserver polymer

在我理解Polymer的过程中,我决定尝试构建一些初学者项目。

我的第一次尝试涉及Polymer CLI。我选择基于抽屉应用模板制作应用。我没有使用polymer build构建问题,也没有使用polymer serve运行演示时遇到问题。

但是,在两个构建目录之一上运行Python Web服务器时遇到了一些问题。运行Python Web服务器时,应用程序似乎运行没有问题,直到我在浏览器上点击刷新。然后它返回一条关于无法找到'/ view2'的错误消息;只有在网站根目录刷新才有问题。

我尝试将同一个应用程序部署到Apache Web服务器。在任何地方刷新的地方都会发生类似的问题,但Web应用程序的第一页会导致问题。

然后我尝试了Polymer Starter Kit(在某些方面似乎无法从Polymer项目网站的其余部分访问)。通过适当的gulp命令,我没有遇到任何问题,也没有任何预览问题。然后我尝试在构建结果上运行Python Web服务器,并在各种网页上进行刷新。这次刷新没有任何问题。

此时可能很容易说Polymer CLI有问题,但我想绝对确定在部署CLI应用程序的过程中我没有犯任何错误。

互联网上的资源非常少,能够以清晰简洁的方式解释如何将Polymer应用程序部署到生产级Web服务器。

如果我确实犯了错误,请告诉正确的程序。如果我没有犯错,请告诉我。

3 个答案:

答案 0 :(得分:2)

Apache add file .htaccess

    <ifModule mod_rewrite.c>
        Options +FollowSymLinks
        IndexIgnore */*
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule (.*) index.html
    </ifModule>

答案 1 :(得分:1)

您需要在&#34; app-location&#34;上定义 use-hash-as-path 选项。组件,然后您的网址必须包含带有示例herehere解释的哈希(#)符号。

&#13;
&#13;
<app-location route="{{route}}" use-hash-as-path></app-location>
<a name=component href="#/component">Component</a>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

对于Polymer 2.0 -

执行polymer build --bundle并从服务器的根目录服务,所有资源链接都是绝对的。

This polymer page讨论了构建聚合物的所有不同方法,也可能有一些用处。

修改 -

同时打开index.html文件并查看第21行到第25行。我相信,在从静态主机提供服务时,您可以指定应用程序的根目录。因此,您将构建捆绑版本,然后将build/default/的内容复制到您所服务的位置。