Хостинг Firebase не регистрирует Polymer

У меня есть каркас приложения, созданный с помощью:

polymer init

с файлом полимера.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, ошибки останутся прежними.


person Lunchbox    schedule 18.10.2016    source источник


Ответы (1)


Вероятность того, что проблема возникла из-за webcomponentsjs полифила, выше. Убедитесь, что полифилл webcomponentsjs находится в вашем build каталоге. Он должен отсутствовать, или вы забыли включить его в свой polymer.json, если вы используете polymer-cli.

person motss    schedule 18.10.2016
comment
Добавление webcomponentsjs в атрибут includeDependencies в файле polymer.json устранило ошибки. Спасибо за совет! - person Lunchbox; 18.10.2016