最小的工作聚合物的例子

我一直在试图获得一个极其微小的网页使用Polymer来简单地在浏览器中呈现 – 我在服务器端使用Node / ExpressJS / Jade设置。 我的代码和Polymer文档附带的例子非常接近,我想我错过了一些非常简单的东西。 我正在使用Chrome M35。

在服务器上,我已经安装了所有聚合物的东西(平台,核心和纸)使用鲍尔,我已经映射bower_components静态/static

 app.use('/static', express.static(path.join(process.cwd(), 'bower_components'))) 

我已经validation了我的服务器可以正确地为http://localhost:3000/static/paper-button/paper-button.html – 这将返回所需文件的内容。

该页面提供的HTML是这样的:

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="/static/platform/platform.js"></script> <title>Authenticate</title> <link rel="import" src="/static/paper-button/paper-button.html"> <style> body { font-family: 'Helvetica Neue'; margin: 0; padding: 24px; user-select: none; transform: translateZ(0); } paper-button { margin: 1em; width: 10em; } paper-button.colored { color: #4285f4; fill: #4285f4; } </style> </head> <body> <paper-button label="Authenticate" class="colored"></paper-button> </body> </html> 

这与Polymer网站上logging的相同小部件的示例一样。 在我的情况下,没有任何呈现。 真是奇怪的是检查员的networking选项卡中显示的内容:

聚合物Web检查员

有一个Loader.js脚本,我相信它是由platform.js安装的,它为根页面本身发送一个XHR(第三行)。 在我看到的每个其他示例中,该加载脚本开始加载导入的Web组件。 我只是无法弄清楚为什么这样做在我的情况。 另一个奇怪的是来自Parser.js的调用 – 请求的数据URL是data:text/javascript;base64,Ci8vIyBzb3VyY2VVUkw9bnVsbC9bMTQ1M10uanMK ,它转换为: //# sourceURL=null/[1453].js – 再次,不是很好兆头。

我试图在我的链接使用相对src s – 无济于事。 我基本上处于一个非常早期的阶段,真的很欣赏被指向正确的方向。

这个不对:

 <link rel="import" src="/static/paper-button/paper-button.html"> 

它应该是:

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

附注:您可能还想使用favicon express中间件来防止“可疑”的http请求。 (如果你的公共根目录中没有图标,你会看到一个额外的http请求被express处理,如果你的公共根目录中没有一个,中间件将会提供express图标。)