Firebase托管不会注册Polymer

时间:2016-10-18 12:48:40

标签: firebase polymer-1.0 firebase-hosting

我创建了一个app scaffold:

polymer init

使用看起来像

的polymer.json文件
{
  "entrypoint": "index.html",
  "shell": "src/my-app.html"
}

然后:

firebase init

使用firebase.json,它看起来像:

{
  "database": {
  "rules": "database.rules.json"
  },
  "hosting": {
    "public": "build/bundled",
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

如果我在polymer build生成的初始应用结构上运行polymer init,然后使用firebase deploy推送到托管,我在尝试打开网站时会遇到这些错误(在JS控制台中)在Firebase托管上:

webcomponents-lite.js:1 Uncaught SyntaxError: Unexpected token <
webcomponents-lite.js:1 Uncaught SyntaxError: Unexpected token <
my-app.html:13 Uncaught ReferenceError: Polymer is not defined

供参考,这里是index.html

<!doctype html>

<html>
  <head>
    <title>Snappy Title</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="manifest" href="/manifest.json">
    <script src="/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
    <link rel="import" href="/src/my-app/my-app.html">
  </head>
  <body>
    <my-app></my-app>
  </body>
</html>

my-app.html

<link rel="import" href="../../bower_components/polymer/polymer.html">

<dom-module id="my-app">
  <template>
    <style>
      :host {
        display: block;
      }
    </style>
    <h2>Hello [[prop1]]</h2>
  </template>

  <script>
    Polymer({

      is: 'my-app',

      properties: {
        prop1: {
        type: String,
        value: 'my-app',
         },
       },
     });
  </script>
</dom-module>

这两个文件都是通过polymer init

自动创建的

注意:即使我通过Firebase Hosting提供非构建代码,错误也会保持不变。

1 个答案:

答案 0 :(得分:3)

问题来自webcomponentsjs polyfill的可能性更高。检查以确保可以从build目录中找到polymer.json polyfill。如果您使用的是polymer-cli,则必须丢失,否则您忘记将其添加到{{1}}内。