Démarrez un serveur Web local à rechargement en direct avec une seule commande
En tant que développeurs, nous avons souvent besoin d'un serveur Web local pour tester quelque chose sur lequel nous travaillons et nous n'avons souvent pas le temps de configurer un système complexe pour un test rapide. Nous avons besoin de quelque chose de prêt à l'emploi et facile à utiliser pour vérifier nos dernières modifications de code, maintenant !
Voici une astuce rapide pour démarrer un serveur Web local avec une seule commande !
Le serveur que nous utiliserons dispose de fonctionnalités de rechargement en direct, ce qui signifie que lorsque vous modifiez votre code, votre navigateur se rafraîchit automatiquement !
Oh, vous avez aussi besoin de tester sur mobile, tablette et/ou votre console de jeu ? Aucun problème! Connectez chacun de vos appareils à votre serveur local et regardez-les tous s'actualiser, se relier et défiler ensemble en temps réel ! 😱
Allons-y! 🚀
Tout d'abord, installons quelques trucs
Node.js et npm
Comme la plupart des choses de nos jours, assurez-vous que Node.js et npm
sont installés. Vous pouvez le faire en téléchargeant le programme d'installation officiel de votre plateforme sur NodeJS.org .
Une fois Node.js installé, ouvrez votre application Terminal pour vérifier que npm
est installé et prêt à fonctionner en exécutant la commande suivante :
npm -v
Cela devrait renvoyer le numéro de version actuel.
Synchronisation du navigateur
Utilisons ensuite npm
pour installer notre application serveur, Browsersync ! C'est l'application qui fait tout le gros du travail, comme servir vos fichiers, recharger tous les navigateurs connectés lors de la sauvegarde des fichiers, et plus encore !
Saisissez et exécutez la commande suivante :
npm install -g browser- sync
Cela installera browser-sync
"globalement" afin que vous puissiez l'utiliser pour servir et tester votre travail dans n'importe quel répertoire de votre ordinateur.
Maintenant que tout est installé, configurons la commande pour démarrer le serveur dans votre terminal !
Création de la commande
L'une des choses les plus intéressantes à propos de l'utilisation du Terminal et de l'utilisation de l'interface de ligne de commande est que vous pouvez créer vos propres commandes personnalisées qui exécutent ensuite un tas d'autres commandes pour vous !
Nous allons faire exactement cela afin de faire fonctionner notre serveur avec une simple commande : serve
.
Ouvrez la configuration du shell
Une commande personnalisée est appelée un "alias" qui est créé dans votre fichier de configuration du shell Terminal.
Par défaut, le terminal macOS exécute le shell Bash . Depuis votre répertoire personnel ( ~/
), ouvrez le fichier .bash_profile
ou, s'il n'existe pas, le fichier .bashrc
. Si celui-ci n'existe pas non plus, créez-le simplement et nous y apporterons les modifications.
Mon éditeur de texte de choix est Atom , donc si vous l'avez installé, exécutez ce qui suit dans votre Terminal pour éditer votre fichier de configuration shell :
atom ~/.bashrc
Faites défiler jusqu'à la fin de ce fichier car nous inclurons nos ajouts à la toute fin.
Obtenez votre adresse IP locale
La première ligne à ajouter sera utilisée pour obtenir l'adresse IP locale actuelle de votre ordinateur. Cela vous sera utile si et quand vous testez quelque chose ailleurs que sur votre réseau domestique.
Ajoutez ceci à votre fichier :
export LOCAL_IP=`ipconfig getifaddr en0`
Cette ligne crée une nouvelle variable appelée $LOCAL_IP
et stocke l'adresse IP de votre réseau local. Pourquoi avons-nous besoin de ces informations ? Vous le saurez bientôt !
Configurer l'alias de commande de service
L'autre ligne que nous devons ajouter est l'alias de commande réel qui démarrera le serveur Browsersync.
Ajoutez cette ligne à votre fichier de configuration shell :
alias serve= "browser-sync start -s -f . --no-notify --host $LOCAL_IP --port 9000"
Décomposons ce qu'il y a dans cette ligne.
- La première partie,
alias
, indique à notre environnement shell que nous voulons créer une nouvelle commande personnalisée. - Tout ce qui vient après
alias
est la commande que nous tapons. Dans ce cas, notre commande sera "serve
". La chaîne définie pour cette commande est celle qui est réellement exécutée en arrière-plan. - La commande
browser-sync start
est ce qui démarre le serveur Browsersync. - L'option
-s
exécute le serveur local . - L'option
-f
indique à Browsersync quels fichiers surveiller. Dans ce cas, nous utilisons le point.
caractère pour désigner le répertoire actuel du terminal. - Normalement lors de la connexion à un serveur Browsersync il y a un petit message pour signifier une connexion. Nous utilisons l'option
--no-verify
pour supprimer cette fonctionnalité. - L'option
--host
définit l'adresse IP de l'ordinateur hôte. C'est ici que nous utilisons la variable$LOCAL_IP
que nous avons créée précédemment. - Enfin, l'option
--port
indique sur quel port notre serveur doit fonctionner.
Remarque : consultez toutes les autres options de ligne de commande de Browsersync disponibles pour personnaliser votre serveur !
Maintenant, enregistrons le fichier et essayons la nouvelle commande serve
!
Exécutez la commande
Dans votre terminal, changez les répertoires en quelque part avec les fichiers de projet sur lesquels vous travaillez. Par exemple, je vérifie une modification que j'ai apportée sur le site du projet A11Y et je souhaite la tester localement.
Étant donné que ma copie du site se trouve dans ~/Sites/a11yproject.com/_site
, j'émettrais la commande suivante pour accéder à ce répertoire :
cd ~/Sites/a11yproject. com /_site
Dans ce répertoire, il y a un fichier index``.html
avec le contenu et les feuilles de style liés à partir d'un sous-répertoire, ainsi que tous les autres fichiers qui composent le site.
Je vais exécuter la commande serve à partir d'ici :
serve
Votre terminal doit afficher des informations comme celles-ci, ainsi qu'ouvrir votre navigateur par défaut et charger automatiquement la page index.html
:
Comme affiché dans la sortie du terminal, la valeur IP "Local :" est celle de votre propre ordinateur, http://localhost:9000
. Cependant, l'IP "Externe :" est ce qui est intéressant ici. C'est encore un autre avantage et utilisation de la variable $LOCAL_IP
dans le fichier de configuration du shell.
La variable
$LOCAL_IP
ajoute une note rapide de l'adresse IP actuelle de votre réseau local lors du démarrage de votre serveur.
Utilisez cette valeur lorsque vous souhaitez tester sur un mobile, une tablette ou un autre appareil informatique avec un navigateur !
Découvrez la commande serve
en action ! 👇
J'espère que cette astuce a été utile pour mettre en place et faire fonctionner rapidement un serveur local de rechargement en direct !
Y a-t-il d'autres configurations de Browsersync que vous recommanderiez ? Utilisez-vous une méthode différente pour lancer un serveur local pour des tests rapides ? Faites-moi savoir dans les commentaires! 🙌
Bon piratage ! 💻😄💖