如何构建聚合物2项目?

时间:2018-02-08 16:22:25

标签: bower polymer-2.x

除了我之外,对于任何人来说,以下情况可能是显而易见的,也许它甚至不是纯粹的聚合物问题,但我对这个问题感到很遗憾,并会非常感激帮助。

首先: - 使用聚合物2和凉亭

问题:

我创造了几个组件。其中一些是完整的应用程序本身,因此他们有一组依赖加载在通过凉亭。这些组件中的每一个都存在于他们自己的git repo中。非常好。这很好。

每个应用都有这样的结构:

bower_components/
my-comp1.html
my-comp2.html

例如使用纸张输入我会有一个

<link rel="import" href="bower_components/paper-input/paper-input.html">

现在我想使用这些组件&#39; my-comp1&#39;并在另一个应用程序中使用它。所以我的意思是让bower从各自的仓库中安装它们。

我应该说我有一个bower.json.ignores文件,其中列出了通过bower安装时不应该部署的所有文件,这些文件还列出了&#b; bower_components&#39;文件夹中。

这是实际问题。让我们说我的新应用程序&#39; my-app&#39;加载&#39; my-comp1&#39;来自外部的git。

但是当我安装它时,它将落在&#39; my-app&#39;的bower_components文件夹中。 &#39; my-comp1&#39;会因为他们不解决而打破

&#39;我的应用内/ bower_components /纸张输入/纸张input.html&#39;

但要

&#39;我的应用内/ bower_component /我的-COMP1 / bower_components /纸张输入/纸张input.html&#39;哪个不存在。

我已经在凉亭和聚合物世界的网上搜索了几个小时的建议,但无法找到如何组织组件化项目的答案。也许我只是忽略了显而易见的事情,但我真的坚持这一点。

重要提示:我没有使用内置的Polymer服务器,而是通过我自己的服务器(jetty)运行代码,在我看来这是必不可少的。

非常感谢任何帮助。

谢谢Joern

1 个答案:

答案 0 :(得分:2)

这是一个已知的问题&#34;因为您需要从自我角度和应用程序角度为组件提供服务。这正是polymer serve正在解决的问题。

解决方案如下 - 默认情况下,您将假定组件是在应用程序透视图中提供的。因此,在您的组件中编写

<link rel="import" href="../paper-input/paper-input.html">

结构:

my-app
├─ bower_components
│  └─ paper-input
│  └─ my-comp1
|  |  └─ my-comp1.html (import "../paper-input/paper-input.html" works)
|  └─ my-comp2
└─ my-app.html

但是,如果您想要处理组件本身,则需要更改其路径。

结构:

my-comp1
├─ bower_components
│  └─ paper-input
└─ my-comp1.html (import "../paper-input/paper-input.html" works)

聚合物服务通过两种方式解决这个问题&#34;服务&#34;:

  • 对于组件:

    http://localhost:8080/components/my-comp1/

    =&GT;每一个请求都在&#34;外面&#34;例如一个额外的../将被重定向到bower_components/

  • 对于应用 http://localhost:8080/

    =&GT;没什么特别的需要

如何在不使用polymer serve的情况下解决此问题取决于您的服务器解决方案。你可以使用符号链接,重定向,重写,......

一个简单的解决方法也是在我的应用内部工作并打开http://localhost/bower_components/my-comp1/demo/

相关问题