Lighthouse avec CLI et par programmation
Apprenez à exécuter des audits Lighthouse depuis la ligne de commande et à intégrer son API à des scripts et applications personnalisés.
Lighthouse avec CLI et par programmation est une leçon Web Performance Optimization & Lighthouse gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web Performance Optimization & Lighthouse, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web Performance Optimization & Lighthouse comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Beyond the Browser
You've likely used Lighthouse in your browser's DevTools. But what if you want to run audits automatically or integrate them into your workflow?
This lesson explores how to use Lighthouse from the command line (CLI) for quick checks and programmatically via its Node.js API for advanced automation.
Automate & Integrate
Running Lighthouse from the CLI or programmatically opens up powerful possibilities:
- Automation: Schedule regular audits without manual intervention.
- CI/CD Integration: Catch performance regressions early in your development pipeline.
- Custom Reports: Generate reports tailored to your specific needs.
- Large-Scale Testing: Audit many pages efficiently across a website.
Get Lighthouse CLI
To use Lighthouse from the command line, you need Node.js installed on your system. Once Node.js is ready, you can install the Lighthouse CLI globally using npm:
npm install -g lighthouse
This command makes the lighthouse command available directly in your terminal, allowing you to run audits from any directory.
Run a Basic CLI Audit
With Lighthouse CLI installed, running an audit is straightforward. Just provide the URL you want to test. By default, it outputs a summary to the console and generates an HTML report.
lighthouse https://www.example.com
This will launch a headless Chrome instance, run the audit, and then generate an HTML report file in your current directory named after the URL.
Choose Your Output
The Lighthouse CLI can generate reports in different formats. You can specify the output type and path using flags:
--output html: Generates a user-friendly HTML report (default).--output json: Provides raw audit data in JSON format for parsing.--output csv: Exports a summary of key metrics as a CSV file.
Try running an audit and saving the output as JSON:
lighthouse https://www.example.com --output json --output-path ./report.json
Customize Your Audit
You can fine-tune your audits with various options to simulate different user conditions or focus on specific aspects:
--throttling-preset: Simulates different network and CPU conditions (e.g.,mobile,desktop).--only-categories: Focuses the audit on specific categories (e.g.,performance,accessibility).
Example: Audit only performance for a desktop user:
lighthouse https://www.example.com --throttling-preset desktop --only-categories performance
Lighthouse as an API
For deeper integration and more control, Lighthouse offers a Node.js API. This allows you to embed Lighthouse directly into your JavaScript applications, giving you full control over the audit process and access to the raw results.
It typically uses Puppeteer, a Node library, to programmatically control a headless Chrome browser instance for the audit.
Basic Programmatic Audit
Let's create a simple Node.js script to run a Lighthouse audit. First, ensure you have lighthouse and chrome-launcher installed in your project:
npm install lighthouse chrome-launcher
Then, create a .js file (e.g., audit.js) with the following code:
const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');
async function runLighthouseAudit(url) {
// Launch a headless Chrome instance
const chrome = await chromeLauncher.launch({
chromeFlags: ['--headless']
});
// Configure Lighthouse options
const options = {
logLevel: 'info',
output: 'json',
port: chrome.port // Connect to the launched Chrome instance
};
// Run Lighthouse audit
const runnerResult = await lighthouse(url, options);
console.log('Audit complete for %s', runnerResult.lhr.finalUrl);
console.log('Performance score: %s', runnerResult.lhr.categories.performance.score * 100);
// Kill the Chrome instance
await chrome.kill();
}
// Call the function with a URL to audit
runLighthouseAudit('https://www.example.com');Extracting Audit Data
The runnerResult object contains a wealth of data about the audit (lhr stands for Lighthouse Result). You can programmatically access scores, specific audit details, and more.
Here's how to extract the Performance score and First Contentful Paint (FCP) value from the results:
const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');
async function extractAuditData(url) {
const chrome = await chromeLauncher.launch({
chromeFlags: ['--headless']
});
const options = {
port: chrome.port
};
const runnerResult = await lighthouse(url, options);
// Access the overall performance score
const performanceScore = runnerResult.lhr.categories.performance.score * 100;
// Access a specific audit result by its ID (e.g., First Contentful Paint)
const fcpAudit = runnerResult.lhr.audits['first-contentful-paint'];
console.log(`Performance Score: ${performanceScore}%`);
console.log(`First Contentful Paint: ${fcpAudit.displayValue}`);
await chrome.kill();
}
extractAuditData('https://www.example.com');When to Use What?
You've learned about both CLI and programmatic Lighthouse. Which of the following are ideal use cases for using Lighthouse programmatically (via its Node.js API)?
Recap: CLI & API Power
Great job! You've explored the power of Lighthouse beyond the browser.
- The Lighthouse CLI is perfect for quick, on-demand audits and simple report generation directly from your terminal.
- The Lighthouse Node.js API provides deep integration capabilities, enabling automation, custom reporting, and embedding performance checks into complex applications and workflows.
These tools are essential for maintaining and improving web performance at scale and integrating audits into your development process.
Apprends Web Performance Optimization & Lighthouse avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 12
- Leçons
- 48
Questions Fréquemment Posées
La leçon « Lighthouse avec CLI et par programmation » est-elle gratuite ?
Oui — le texte complet de « Lighthouse avec CLI et par programmation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web Performance Optimization & Lighthouse, passe à CoddyKit PRO. Le cours Web Performance Optimization & Lighthouse comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Lighthouse avec CLI et par programmation » ?
Apprenez à exécuter des audits Lighthouse depuis la ligne de commande et à intégrer son API à des scripts et applications personnalisés. Tu pratiques Web Performance Optimization & Lighthouse avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Web Performance Optimization & Lighthouse ?
Aucune expérience préalable n'est requise. Web Performance Optimization & Lighthouse sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Lighthouse avec CLI et par programmation » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Web Performance Optimization & Lighthouse ?
Oui. Chaque leçon Web Performance Optimization & Lighthouse inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Lighthouse avec CLI et par programmation
- Audits et assertions personnalisés
- Intégrer Lighthouse à l’intégration et au déploiement continus
- Budgets de performance avec Lighthouse