Ceci est un projet 3-en-1:
Bpmtech.no - compteur BPM en temps réel en ligne gratuit pour DJ
(Cliquez pour regarder sur YouTube)
git clone https://github.com/webmaxru/bpm-counter.git
cd bpm-counter
npm install
# Installing tools for Static Web Apps and Azure Functions
npm install -g @azure/static-web-apps-cli
npm install -g azure-functions-core-tools@3 --unsafe-perm true
# Instead of CRA's "npm start" we use SWA CLI's command to start everything at once
swa start http://localhost:3000 --run " npm start " --api-location ./api
Ouvrez http: // localhost: 4280 dans votre navigateur.
Pour déployer ce projet sur Azure, vous devez débarquer ce dépôt sur votre propre compte GitHub. Vous aurez également besoin d'un abonnement Azure. Si vous ne l'avez pas, vous pouvez obtenir un abonnement Azure ici gratuitement avec 200 $ de crédit.
Veuillez noter que le service Azure Statis Web Apps a un niveau gratuit généreux qui est suffisant pour de nombreux types de projets personnels.
Après avoir le référentiel dans votre compte GitHub et Azure Abonnement Ready, utilisez une extension Azure Statis Web Apps pour Visual Studio Code ou Azure Portal pour créer une ressource SWA.
- ou -
Utilisez les paramètres suivants:
Que se passera-t-il:
.github/workflows
de votre référentiel. Semblable à celui du dépôt original.Vous êtes maintenant prêt à explorer les fonctionnalités des applications Web statiques Azure.
main
(ou à la branche que vous avez spécifiée lors de la création de ressources).Veuillez noter qu'il s'agit d'une application axée sur les travailleurs de service, vous verrez donc l'invite pour recharger la page.
Vous pouvez consulter les demandes de traction dans un environnement de pré-production avant d'être fusionné à la branche principale.
git checkout -b new-feature
Effectuer un changement de code dans l'application. Quelque chose qui sera clairement visible sur la première page, par exemple changer la couleur d'arrière-plan.
git add .
git commit -m " New feature "
git push origin new-feature
Accédez à votre page GitHub Repo et créez une nouvelle demande de traction de la branche.
Accédez à la page des actions de votre dépôt pour vous assurer que le workflow est en cours d'exécution.
À la fin, vous aurez une nouvelle version du site Web déployé sur Azure dans une nouvelle URL. Vous pouvez obtenir cette URL à partir de la sortie du flux de travail sur Azure ou dans l'onglet Azure Portal on Environments. GitHub Actions Bot publiera également cette URL à vos commentaires de demande de traction.
Maintenant, vous pouvez exécuter divers tests sur votre nouvelle version.
Si la nouvelle version semble bonne et que vous fusionnez cette demande de traction vers la succursale principale (suivie par SWA), le workflow déploiera automatiquement la nouvelle version dans cette branche et supprimeront un environnement de stadification.
Veuillez noter que les versions en cours de votre application sont actuellement accessibles publiquement par leur URL, même si votre référentiel GitHub est privé.
? Documentation
Vous pouvez utiliser les fonctions Azure pour créer votre propre API pour votre application Web statique. L'option la plus simple consiste à utiliser l'option de fonctions gérées: toutes les fonctions Azure que vous créez dans le répertoire api
seront automatiquement déployées dans le SWA. Dans ce projet, nous utilisons la fonction feedback
pour rassembler des statistiques sur des BPM corrects ou mauvais détectés.
Pour le tester même sans le jeu de musique, vous pouvez passer une valeur BPM "codé" en dur à l'application: en utilisant le paramètre BPM. Comment le tester:
https://bpmtech.no/api/feedback
Endpoint et sa réponse.Comment créer une nouvelle fonction API:
? Documentation
Azure SWA prend en charge le routage personnalisé qui vous permet de:
Vous configurez les règles dans staticwebapp.config.json que vous pouvez mettre n'importe où dans le dossier d'application du repo, il n'est pas nécessaire de le mettre dans le dossier de sortie (public)).
Comment le tester:
Veuillez noter que la demande hébergée est contrôlée par un employé de service. Donc, après la première charge, le routage peut ne pas ressembler exactement à expliqué ci-dessus. Pour tester l'application sans travailleur de service, démarrez une nouvelle session de navigateur en mode privé / incognito.
? Documentation
Avec l'aide des applications Web statiques Azure, vous pouvez protéger vos ressources d'application avec le contrôle d'accès basé sur les rôles (RBAC).
Configuration de l'authentification:
anonymous
(pour tous les utilisateurs) et authenticated
(pour ceux qui sont connectés)..auth
sur votre projet Azure SWA est intégré, il est appelé le dossier système qui contient des points de terminaison utiles.administrator
), vous utilisez l'onglet "gestion des rôles" dans le portail Azure. Cliquez sur le bouton "Inviter", remplissez le formulaire et cliquez sur "Générer". Vous recevrez un lien à envoyer à l'utilisateur pour accepter le rôle. Vous pouvez gérer les utilisateurs et les rôles dans l'onglet "Gestion des rôles".
x-ms-client-principal
dans la demande.Démo:
authenticated
par cette règle. Vous serez redirigé vers la page de connexion Twitter et demandez le consentement.administrator
de rôle comme décrit ci-dessus.? Documentation
Dans le répertoire du projet, vous pouvez courir:
npm run start
Exécute l'application en mode développement.
Ouvrez http: // localhost: 3000 pour le voir dans le navigateur.
La page se rechargera si vous effectuez des modifications.
Vous verrez également toutes les erreurs de peluche dans la console.
Le travailleur des services n'est pas utilisé dans l'environnement de développement.
npm run build
Créez l'application pour la production dans le dossier build
.
Il réagit correctement en mode de production et optimise la construction pour les meilleures performances.
La construction est minifiée et les noms de fichiers incluent les hachages.
Votre application est prête à être déployée!
Le travailleur de service prêt pour la production sera également généré.
Maxim Salnikov. N'hésitez pas à me contacter si vous avez des questions sur le projet, PWA, les applications Web statiques Azure.