Firebase 托管不会注册 Polymer

Firebase hosting won't register Polymer

我创建了一个应用脚手架:

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 buildpolymer 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 托管提供非构建代码,错误仍然存​​在。

问题出在webcomponentsjs polyfill 的可能性更高。检查以确保可以从 build 目录中找到 webcomponentsjs polyfill。如果您使用的是 polymer-cli.

,那么它一定是丢失了或者您忘记将其包含在 polymer.json