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 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 托管提供非构建代码,错误仍然存在。
问题出在webcomponentsjs
polyfill 的可能性更高。检查以确保可以从 build
目录中找到 webcomponentsjs
polyfill。如果您使用的是 polymer-cli
.
,那么它一定是丢失了或者您忘记将其包含在 polymer.json
中
我创建了一个应用脚手架:
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 托管提供非构建代码,错误仍然存在。
问题出在webcomponentsjs
polyfill 的可能性更高。检查以确保可以从 build
目录中找到 webcomponentsjs
polyfill。如果您使用的是 polymer-cli
.
polymer.json
中