Exécuter du code JavaScript en ligne de commande offre une flexibilité et une rapidité précieuses pour les développeurs souhaitant tester des scripts ou automatiser des tâches. Dans cet article, nous explorerons différentes méthodes pour exécuter du JavaScript en ligne de commande, en utilisant des outils intégrés aux navigateurs web ainsi que des environnements dédiés.
Node.js est un environnement d’exécution JavaScript côté serveur basé sur le moteur JavaScript V8 de Chrome. Il inclut un interpréteur en ligne de commande qui permet d’exécuter des scripts JavaScript. Pour exécuter un fichier JavaScript avec Node.js, utilisez la commande suivante dans votre terminal :
node fichier.js
Assurez-vous d’avoir Node.js installé sur votre système avant d’exécuter cette commande.
Les navigateurs web modernes offrent une console JavaScript qui permet d’exécuter du code JavaScript directement dans l’environnement du navigateur. Voici comment ouvrir la console dans les navigateurs les plus courants :
Une fois la console ouverte, vous pouvez saisir du code JavaScript directement dans l’invite de commande et appuyer sur “Entrée” pour l’exécuter.
Outre les méthodes intégrées aux navigateurs et à Node.js, il existe également des outils tiers qui permettent d’exécuter du JavaScript en ligne de commande de manière plus avancée. En voici quelques-uns :
PhantomJS est un navigateur sans tête (headless) basé sur WebKit, qui permet d’exécuter des scripts JavaScript en ligne de commande et de prendre des captures d’écran de pages web. Il est largement utilisé pour l’automatisation des tests et le scraping web.
Puppeteer est une bibliothèque Node.js développée par Google qui fournit une API de haut niveau pour contrôler les navigateurs Chrome et Chromium via le protocole DevTools. Avec Puppeteer, vous pouvez automatiser des actions dans le navigateur, prendre des captures d’écran, générer des fichiers PDF, et bien plus encore, le tout via une interface en ligne de commande.
Voici quelques exemples pratiques d’utilisation de l’exécution de JavaScript en ligne de commande :
Supposons que vous souhaitiez renommer tous les fichiers d’un répertoire en remplaçant les espaces par des tirets. Vous pouvez utiliser Node.js pour parcourir les fichiers et renommer chaque fichier en utilisant du JavaScript.
Exemple de code :
const fs = require('fs');
fs.readdirSync('.').forEach(file => {
const newFileName = file.replace(/\s/g, '-');
fs.renameSync(file, newFileName);
});
Vous pouvez utiliser Puppeteer pour extraire des informations d’une page web. Par exemple, supposons que vous souhaitiez extraire le titre et l’URL de tous les articles d’un blog pour les enregistrer dans un fichier JSON.
Exemple de code :
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com/blog');
const articles = await page.evaluate(() => {
const articleNodes = document.querySelectorAll('.article');
const articlesData = [];
articleNodes.forEach(node => {
const title = node.querySelector('h2').innerText;
const url = node.querySelector('a').href;
articlesData.push({ title, url });
});
return articlesData;
});
console.log(articles);
await browser.close();
})();
Utiliser Puppeteer ou PhantomJS pour automatiser les tests de votre application web. Par exemple, vous pouvez vérifier si un formulaire fonctionne correctement en simulant des interactions utilisateur telles que le remplissage des champs et la soumission du formulaire, puis en vérifiant si la réponse est correcte.
Exemple de code avec Puppeteer :
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com/login');
await page.type('#username', 'john_doe');
await page.type('#password', 'password123');
await page.click('#login-button');
await page.waitForNavigation();
const loggedInUrl = page.url();
if (loggedInUrl === 'https://example.com/dashboard') {
console.log('Login successful');
} else {
console.log('Login failed');
}
await browser.close();
})();
Ces exemples illustrent comment l’exécution de JavaScript en ligne de commande peut être utilisée dans divers scénarios pratiques, tels que la manipulation de fichiers, le scraping web et les tests automatisés.
Voici quelques erreurs courantes à éviter lors de l’exécution de JavaScript en ligne de commande, accompagnées d’exemples de code corrigés :
Erreur : Ne pas gérer les erreurs peut entraîner des plantages inattendus de votre script sans fournir de message d’erreur utile.
Exemple de code corrigé :
const fs = require('fs');
try {
const data = fs.readFileSync('non-existent-file.txt', 'utf8');
console.log(data);
} catch (err) {
console.error('Une erreur s\'est produite lors de la lecture du fichier :', err);
}
Erreur : Utiliser une variable qui n’a pas été définie entraînera une erreur de référence.
Exemple de code corrigé :
const a = 5;
const b = 10;
const sum = a + b;
console.log('La somme est :', sum);
Erreur : Ne pas attendre la résolution d’une fonction asynchrone peut entraîner un comportement imprévisible ou des erreurs de type “Promise non résolue”.
Exemple de code corrigé :
async function fetchData() {
return await fetch('https://api.example.com/data');
}
(async () => {
try {
const data = await fetchData();
console.log('Données récupérées avec succès :', data);
} catch (err) {
console.error('Une erreur s\'est produite lors de la récupération des données :', err);
}
})();
Erreur : Oublier de fermer les ressources telles que les fichiers ou les connexions réseau peut entraîner des fuites de mémoire ou des comportements inattendus.
Exemple de code corrigé :
const fs = require('fs');
const fileStream = fs.createReadStream('example.txt', 'utf8');
fileStream.on('data', (chunk) => {
console.log('Chunk lu :', chunk);
});
fileStream.on('end', () => {
console.log('Lecture du fichier terminée');
});
fileStream.on('error', (err) => {
console.error('Une erreur s\'est produite lors de la lecture du fichier :', err);
// Fermer le flux de fichier en cas d'erreur
fileStream.close();
});
Erreur : Utiliser une boucle infinie sans condition de sortie peut entraîner un blocage du script.
Exemple de code corrigé :
let count = 0;
while (count < 10) {
console.log('Compteur :', count);
count++;
}
En évitant ces erreurs courantes lors de l’exécution de JavaScript en ligne de commande, vous pouvez améliorer la fiabilité et la robustesse de vos scripts.
Exécuter du JavaScript en ligne de commande offre une grande polyvalence aux développeurs, que ce soit pour tester des scripts, automatiser des tâches, ou interagir avec des navigateurs web. Avec les outils mentionnés dans cet article, vous disposez des moyens nécessaires pour exécuter du JavaScript efficacement dans différents contextes, que ce soit sur votre machine locale ou sur des serveurs distants. Explorez ces outils et choisissez celui qui convient le mieux à vos besoins de développement JavaScript.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.