Dans mon projet actuel avec Polymer & Firebase J'ai le problème que sur la page d'actualisation aucune de mes pages routées se trouve 404. J'ai créé un nouveau projet qui produit la même erreur et hébergé avec Firebase.
Je fais usage de l'authentification google et après une inscription réussie, je charge mon application qui est fondamentalement le stater-kit Polymer. Je crois que le problème est la structure de mes pages/projets. Parce que my-app est juste la passerelle vers mon-site qui contient le routage et les pages correspondantes. J'ai ajouté une image ci-dessous pour expliquer comment mon projet est structuré. J'ai également ajouté une image de la source dans ma console. ceux qui sont routés vers la page et un lorsque la page a été rechargée.
L'actualisation de page renvoie un 404error avec Polymer Firebase (ne peut pas trouver la page routée)
J'apprécierais vraiment si quelqu'un trouve le temps de regarder ce
Image de ma structure de projet
fichier firebase.json
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "public"
}
}
fichier firebase.json de mon projet réel avec même problème
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "public",
"rewrites": [
{
"source": "**/!{*.*}",
"destination": "/index.html"
}
]
}
}
Code pour mon index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>polyfire</title>
<link rel="import" href="my-app.html">
<style media="screen">
body {
font-family: Roboto, Arial, sans-serif;
}
</style>
</head>
<body>
<my-app></my-app>
</body>
</html>
Code pour mon my-app.html
<link rel="import" href="my-login.html">
<link rel="import" href="my-site.html">
<dom-module id="my-app">
<template>
<style>
:host {
display: block;
}
</style>
<firebase-app
auth-domain="firebaseapp.com"
database-url="firebaseio.com"
api-key="..."
storage-bucket="gs://yole.appspot.com">
</firebase-app>
<firebase-auth user="{{user}}"></firebase-auth>
<template is="dom-if" if="[[!user]]">
<my-login></my-login>
</template>
<template is="dom-if" if="[[user]]">
<my-site></my-site>
</template>
</template>
<script>
Polymer({
is: 'my-app',
properties: {},
});
</script>
Code de ma-login.html
<dom-module id="my-login">
<template>
<style>
:host {
display: block;
}
</style>
<firebase-auth
id="auth"
user="{{user}}"
status-known="{{statusKnown}}"
provider="google"
on-error="handleError"></firebase-auth>
<paper-button class="logInOutBtn" raised on-tap="login" hidden$="[[user]]">Sign-up with Google</paper-button>
<paper-button class="logInOutBtn" raised on-tap="logout" hidden$="[[!user]]">Sign-out</paper-button>
</template>
<script>
Polymer({
is: 'my-login',
properties: {
user: {
type: Object,
},
statusKnown: {
type: Object,
}
},
login: function() {
this.$.auth.signInWithPopup();
},
logout: function() {
this.$.auth.signOut();
},
});
</script>
</dom-module>
merci beaucoup pour cette réponse rapide. J'ai eu le sentiment que le problème est lié à cela mais pas assez d'expérience pour savoir ce qui se passe exactement là-bas. Je déploie mon application avec firebase déployer le lien dans la question. J'ai mis à jour ma question et inclus mon fichier firebase.json. – Niklas
@NiklasLang Si vous déployez avec Firebase, vérifiez mon fichier 'firebase.json' et voyez comment les réécritures sont faites, et essayez avec votre configuration si cela fonctionne. – Rexford
L'homme que vous êtes une réponse très rapide de la vie et en plus il a résolu mon problème sur l'application de test et mon application réelle. Merci – Niklas