Composant de Code
Créez, générez et déployez des composants React vers Webflow Designer avec une validation complète et une vérification du déploiement.
Note Importante
TOUJOURS utiliser l'outil Bash pour toutes les opérations CLI Webflow :
- Exécuter les commandes CLI
webflowvia l'outil Bash - Utiliser l'outil Read pour examiner les fichiers générés (jamais les modifier)
- Utiliser l'outil Glob pour découvrir les fichiers du projet
- Vérifier l'installation CLI :
webflow --version - Vérifier l'authentification : lors du premier
webflow library share, l'authentification de l'espace de travail se fait automatiquement - NE PAS utiliser les outils MCP Webflow pour les workflows CLI
- Toutes les commandes CLI nécessitent des descriptions appropriées (pas de paramètres de contexte)
Détection du gestionnaire de paquets :
- Vérifier les fichiers de verrouillage :
package-lock.json(npm),pnpm-lock.yaml(pnpm),yarn.lock(yarn) - Si aucun fichier de verrouillage trouvé, demander à l'utilisateur quel gestionnaire de paquets utiliser (npm/pnpm/yarn)
- Utiliser le gestionnaire de paquets détecté pour toutes les commandes d'installation/compilation
Instructions
Phase 1 : Vérification de l'environnement
- Vérifier que CLI est installé : Exécuter
webflow --versionpour confirmer que CLI est installé - Vérifier l'état du projet : Déterminer si l'utilisateur a un projet React existant ou a besoin de conseils
- Identifier l'espace de travail : Expliquer que l'authentification de l'espace de travail se fait lors du premier partage
- Réviser la configuration : Vérifier si webflow.json existe avec la configuration de la bibliothèque
Phase 2 : Configuration du projet
- Demander le type d'opération : Clarifier ce que l'utilisateur souhaite faire :
- Configurer un projet React existant pour Code Components
- Ajouter des composants à un projet déjà configuré
- Générer et partager une bibliothèque existante
- Configurer webflow.json : Ajouter la configuration de la bibliothèque à webflow.json :
- Nom de la bibliothèque (apparaît dans Webflow Designer)
- Motif glob pour les composants (ex. :
./src/**/*.webflow.tsx) - bundleConfig optionnel pour webpack personnalisé
- Lire les fichiers de configuration : Utiliser l'outil Read pour afficher :
webflow.json- Configuration de la bibliothèquepackage.json- Dépendances et scripts- Structure des fichiers de composants
- Vérifier les dépendances : S'assurer que React est installé et que les scripts de compilation existent
Phase 3 : Validation de la génération et du bundling
- Exécuter la compilation : Exécuter la commande de compilation de l'utilisateur (ex. :
npm run build,yarn build) - Valider la sortie de compilation : Vérifier les erreurs ou avertissements de compilation
- Exécuter la commande bundle : Exécuter
webflow library bundlepour la validation locale - Analyser le bundle :
- Taille du bundle (doit être < 2 Mo)
- Dépendances incluses
- Emplacement de sortie (par défaut :
./dist) - Avertissements de validation
- Afficher les détails du bundle : Afficher un résumé du bundle avec le statut de validation
Phase 4 : Aperçu et approbation
- Afficher l'aperçu du déploiement :
- Nom de la bibliothèque depuis webflow.json
- Fichiers de composants inclus
- Taille du bundle et statut de validation
- Espace de travail cible (sera sélectionné lors du premier partage)
- Expliquer l'authentification de l'espace de travail si première fois
- Expliquer le déploiement : Ce qui se passe quand la bibliothèque est partagée
- Exiger une confirmation explicite : L'utilisateur doit taper « share » ou « deploy » pour continuer
- Confirmer l'espace de travail : Expliquer que le navigateur s'ouvrira pour la sélection de l'espace de travail (première fois uniquement)
Phase 5 : Déploiement et vérification
- Exécuter la commande share : Exécuter
webflow library share - Surveiller le déploiement : Afficher la sortie et la progression du CLI
- Gérer l'authentification de l'espace de travail : Si première fois, guider l'utilisateur à travers l'authentification du navigateur
- Vérifier le succès du déploiement : Confirmer que la bibliothèque apparaît dans l'espace de travail
- Afficher les mises à jour .env : Expliquer que WEBFLOW_WORKSPACE_ID et WEBFLOW_WORKSPACE_API_TOKEN ont été ajoutés
- Fournir les étapes suivantes :
- Comment utiliser les composants dans Designer
- Comment mettre à jour les composants
- Recommandations de test
- Utiliser
webflow library logpour le débogage
Exemples
Exemple 1 : Configurer un projet React existant
Invite utilisateur :
I have a React project with some components I want to share to Webflow
Étape 1 : Vérification de l'environnement
🔍 Webflow CLI Environment Check
Checking CLI installation...
✓ Webflow CLI installed: v1.5.2
Current directory: /Users/user/projects/my-components
✓ Found package.json with React project
✓ Found src/ directory with components
Checking webflow.json...
⚠️ No webflow.json found - needs configuration
Ready to configure for Code Components? (yes/no)
L'utilisateur confirme : yes
Étape 2 : Configuration du projet
📋 Configure Code Components Library
I'll help you add the library configuration to webflow.json.
Questions:
1. What should your library be called in Webflow Designer?
Example: "My Component Library"
2. Where are your component files located?
Pattern examples:
- "./src/**/*.webflow.tsx" (components with .webflow.tsx extension)
- "./src/components/**/*.tsx" (all components in src/components/)
- "./src/Button.tsx" (specific files)
Let me know the library name and component pattern.
*L'utilisateur fournit : « Acme Components » et « ./src/*/.webflow.tsx »*
Creating webflow.json configuration...
{
"library": {
"name": "Acme Components",
"components": ["./src/**/*.webflow.tsx"]
}
}
✓ Configuration ready
Found component files:
- src/Button.webflow.tsx
- src/Card.webflow.tsx
- src/Hero.webflow.tsx
Next: Build your components and run bundle command.
Étape 3 : Validation de la génération et du bundling
🔨 Building Components
What build command do you use? (e.g., npm run build, yarn build)
L'utilisateur répond : npm run build
Executing: npm run build
Output:
✓ TypeScript compilation successful
✓ Components built to dist/
Creating bundle for validation...
Executing: webflow library bundle
Output:
✓ Analyzing 3 components
✓ Bundling dependencies
✓ Creating bundle
✓ Bundle created: dist/bundle.js
📦 Bundle Analysis:
- Size: 287 KB (✓ within 2MB limit)
- Components: 3 (Button, Card, Hero)
- Dependencies: react@18.2.0, react-dom@18.2.0
- Output: ./dist
- Validation: ✅ All checks passed
Étape 4 : Aperçu et approbation
📋 Deployment Preview
Library: Acme Components
Components: 3 (Button, Card, Hero)
Bundle Size: 287 KB
Workspace Authentication:
⚠️ This appears to be your first deployment. When you run 'share':
1. Browser will open for workspace authentication
2. Select your target Webflow workspace
3. Grant access to deploy components
4. CLI will create .env with credentials:
- WEBFLOW_WORKSPACE_ID
- WEBFLOW_WORKSPACE_API_TOKEN
Validation Status: ✅ Ready to deploy
- Bundle size: ✓ 287 KB (< 2MB limit)
- Dependencies: ✓ Valid (React 18.2.0)
- Configuration: ✓ webflow.json valid
- Components: ✓ 3 components found
⚠️ Type "share" to deploy this library to your workspace.
L'utilisateur confirme : share
Étape 5 : Déploiement et vérification
🚀 Deploying Library
Executing: webflow library share
Output:
✓ Bundling library (287 KB)
✓ Opening browser for workspace authentication...
[Browser opens - user authenticates and selects workspace]
✓ Workspace authenticated: Acme Corp
✓ Uploading bundle
✓ Validating components
✓ Registering with workspace
✓ Library deployed successfully
✅ Library Deployed: Acme Components
Workspace: Acme Corp
Components: 3 (Button, Card, Hero)
Version: Latest
Status: Active
📁 Environment Updated:
Created .env file with:
- WEBFLOW_WORKSPACE_ID=workspace_abc123
- WEBFLOW_WORKSPACE_API_TOKEN=************
⚠️ Important: Add .env to your .gitignore file!
📋 Next Steps:
1. Open Webflow Designer
2. Go to Add Elements → Code Components
3. Find "Acme Components" in the list
4. Drag components onto canvas to use
💡 To update components:
1. Make changes to your component files
2. Run: npm run build
3. Run: webflow library share
(No re-authentication needed - uses .env credentials)
🔍 For debugging:
- View logs: webflow library log
- Bundle locally: webflow library bundle
- Check bundle size: webflow library bundle --verbose
Component Library URL: https://webflow.com/dashboard/workspaces/acme-corp/components
Exemple 2 : Mettre à jour une bibliothèque existante
Invite utilisateur :
Update my Code Components library with new changes
Étape 1 : Vérification de l'environnement
🔍 Code Components Library Check
Checking configuration...
✓ webflow.json found with library config
✓ Library name: Acme Components
✓ Components pattern: ./src/**/*.webflow.tsx
Checking authentication...
✓ Found .env with workspace credentials
✓ Workspace: Acme Corp
Found components:
- src/Button.webflow.tsx (modified)
- src/Card.webflow.tsx
- src/Hero.webflow.tsx
- src/Form.webflow.tsx (new)
Ready to build and share updates? (yes/no)
Étapes 2-3 : Compilation et bundling
🔨 Building Components
Executing: npm run build
✓ Build complete
Bundling for validation...
Executing: webflow library bundle
📦 Bundle Analysis:
- Size: 312 KB (✓ within 2MB limit)
- Components: 4 (Button, Card, Hero, Form) [+1 new]
- Changes: Button updated, Form added
- Validation: ✅ All checks passed
Étape 4 : Aperçu
📋 Update Preview
Library: Acme Components
Workspace: Acme Corp (already authenticated)
Changes:
✓ Button component (updated)
✓ Form component (new)
Card component (unchanged)
Hero component (unchanged)
Bundle Size: 312 KB (+25 KB from 287 KB)
No re-authentication needed - using existing workspace credentials.
⚠️ Type "share" to update the library.
Étape 5 : Déploiement
🚀 Updating Library
Executing: webflow library share
Output:
✓ Bundling library (312 KB)
✓ Using workspace: Acme Corp
✓ Uploading bundle
✓ Validating components
✓ Updating library
✓ Library updated successfully
✅ Library Updated: Acme Components
Changes deployed:
- Button: Updated ✨
- Form: Added 🆕
- Card: Unchanged
- Hero: Unchanged
💡 Refresh Webflow Designer to see changes:
1. Open Designer
2. Components may auto-refresh
3. Or refresh browser if needed
Components updated in workspace!
Exemple 3 : Test de bundle en local pour la première fois
Invite utilisateur :
I want to test my bundle locally before sharing
Étapes 1-2 : Vérification et configuration
🔍 Local Bundle Testing
✓ webflow.json configured
✓ Library: My Components
✓ Components: ./src/**/*.webflow.tsx
Running local bundle only (no deployment)...
Étape 3 : Validation du bundle
🔨 Building Components
Executing: npm run build
✓ Build complete
Creating local bundle...
Executing: webflow library bundle
Output:
✓ Analyzing components
✓ Bundling dependencies
✓ Optimizing output
✓ Bundle created: dist/bundle.js
📦 Bundle Details:
Size: 1.2 MB (✓ within 2MB limit)
Components (5):
├── Button.webflow.tsx (25 KB)
├── Card.webflow.tsx (18 KB)
├── Hero.webflow.tsx (45 KB)
├── Form.webflow.tsx (32 KB)
└── Modal.webflow.tsx (28 KB)
Dependencies:
├── react@18.2.0 (included)
├── react-dom@18.2.0 (included)
└── classnames@2.3.1 (included)
Output Directory: ./dist/
- bundle.js (1.2 MB)
- manifest.json
Validation: ✅ All checks passed
💡 Bundle is valid and ready to share!
Run: webflow library share (when ready to deploy)
Exemple 4 : Bundle trop volumineux
Invite utilisateur :
Share my components library
Erreur de validation du bundle :
🔨 Building and Bundling
Executing: npm run build
✓ Build complete
Executing: webflow library bundle
Output:
✓ Analyzing components
✓ Bundling dependencies
⚠️ Bundle size check...
📦 Bundle Analysis:
- Size: 2.4 MB (❌ exceeds 2MB limit)
- Components: 6
- Dependencies: react@18.2.0, react-dom@18.2.0, lodash@4.17.21, moment@2.29.4
- Validation: ❌ Issues found
❌ Bundle Too Large
Current size: 2.4 MB
Maximum allowed: 2 MB
Exceeded by: 400 KB
📊 Size Breakdown:
- React + React DOM: ~800 KB
- lodash: ~500 KB ⚠️
- moment: ~350 KB ⚠️
- Your components: ~750 KB
💡 Recommendations:
1. Remove lodash (use native JS instead)
- Replace _.map with Array.map
- Replace _.filter with Array.filter
- Or use lodash-es and import specific functions
2. Replace moment with lighter alternative
- Use date-fns (~15 KB vs 350 KB)
- Or use native Intl.DateTimeFormat
3. Optimize component code
- Remove unused imports
- Enable tree-shaking
- Split large components
4. Use external assets
- Host large images externally
- Use CDN for static assets
Would you like to:
1. Continue anyway (using --force flag, not recommended)
2. Review component imports to optimize
3. Cancel and fix manually
Exemple 5 : Déploiement CI/CD
Invite utilisateur :
How do I deploy in CI/CD pipeline?
Réponse :
🤖 CI/CD Deployment Setup
For automated deployments, use non-interactive mode with API tokens.
### Setup Steps:
1. **Get Workspace API Token**
- Open Workspace Settings in Webflow
- Go to Integrations → Workspace API Token
- Generate new token
- Copy token securely
2. **Add to CI/CD Secrets**
- Add as environment variable: WORKSPACE_API_TOKEN
- Never commit tokens to version control
3. **Deployment Command**
```bash
webflow library share --api-token $WORKSPACE_API_TOKEN --no-input
Example: GitHub Actions
name: Deploy Components
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Install Webflow CLI
run: npm install -g @webflow/webflow-cli
- name: Build components
run: npm run build
- name: Deploy to Webflow
run: |
webflow library share \
--api-token ${{ secrets.WORKSPACE_API_TOKEN }} \
--no-input \
--force
env:
WORKSPACE_API_TOKEN: ${{ secrets.WORKSPACE_API_TOKEN }}
Multiple Workspaces:
# Deploy to workspace 1
webflow library share \
--api-token $WORKSPACE_1_TOKEN \
--no-input
# Deploy to workspace 2
webflow library share \
--api-token $WORKSPACE_2_TOKEN \
--no-input
Options:
--no-input- Disables interactive prompts--force- Continues even with warnings--verbose- Shows detailed output--dev- Bundles in development mode (for testing)
⚠️ Security:
- Never commit .env files
- Use secrets management in CI/CD
- Rotate tokens regularly
- Limit token permissions
Directives
Phase 1 : Vérification CLI
Vérification d'installation :
# Check if CLI is installed
webflow --version
# If not installed, guide user:
npm install -g @webflow/webflow-cli
Vérification du projet :
# Check for existing configuration
ls webflow.json
# Check for React project
ls package.json
# Check for components
ls src/
Note d'authentification :
Contrairement à l'authentification du site, l'authentification de l'espace de travail pour Code Components se fait automatiquement lors du premier webflow library share. Le CLI va :
- Ouvrir le navigateur pour l'authentification
- Permettre à l'utilisateur de sélectionner l'espace de travail
- Créer .env avec WEBFLOW_WORKSPACE_ID et WEBFLOW_WORKSPACE_API_TOKEN
Phase 2 : Configuration du projet
Structure webflow.json :
{
"library": {
"name": "<Your Library Name>",
"components": ["./src/**/*.webflow.@(js|jsx|mjs|ts|tsx)"],
"bundleConfig": "./webpack.webflow.js"
}
}
Champs de configuration :
- name (requis) : Nom de la bibliothèque tel qu'il apparaît dans Webflow Designer
- components (requis) : Motif glob correspondant aux fichiers de composants
- Exemple :
"./src/**/*.webflow.tsx"- tous les fichiers .webflow.tsx dans src/ - Exemple :
"./src/components/**/*.tsx"- tous les fichiers .tsx dans src/components/
- Exemple :
- bundleConfig (optionnel) : Chemin vers une configuration webpack personnalisée
Convention de nommage des composants :
- Ajouter
.webflowavant l'extension :Button.webflow.tsx - Ou utiliser un motif glob pour inclure tous les fichiers dans un répertoire spécifique
- Les composants doivent être des composants React
Aucune commande Init :
Contrairement à d'autres produits CLI, Code Components n'ont pas de commande init. Les utilisateurs configurent les projets React existants en ajoutant webflow.json avec la configuration de la bibliothèque.
Phase 3 : Compilation et bundling
Processus de compilation :
# Use project's build script
npm run build
# or
yarn build
# or
pnpm build
# Check for errors
echo $? # 0 = success, non-zero = failure
Commande bundle :
# Bundle locally (optional - for testing/validation)
webflow library bundle
# Bundle output: ./dist/ (default)
# Can override: webflow library bundle --output-path ./build
Options de bundling :
--output-path <path>- Override output directory (default:./dist)--public-path <path>- Override public path--force- Force bundling even with warnings--debug-bundler- Show webpack configuration--dev- Bundle in development mode--verbose- Show detailed output
Validation du bundle : Vérifier ces aspects :
- Limite de taille : Doit être < 2 Mo
- Dépendances : Versions React compatibles
- Sortie : Bundle créé dans le répertoire dist/
- Composants : Tous les fichiers de composants inclus
Erreurs de compilation courantes :
- Erreurs de compilation TypeScript → Corriger les problèmes de type
- Dépendances manquantes → Exécuter npm install
- Erreurs d'importation → Vérifier les chemins de fichiers
- Bundle trop volumineux → Optimiser les dépendances
Phase 4 : Aperçu du déploiement
Format d'aperçu :
📋 Deployment Preview
Library: [Name from webflow.json]
Components: [Count] ([List of components])
Bundle Size: [Size in KB/MB]
Workspace Authentication:
[First time: Explain browser auth flow]
[Subsequent: Show workspace from .env]
Validation Status:
✓ Bundle size: [X KB] (< 2MB limit)
✓ Dependencies: Valid
✓ Configuration: webflow.json valid
✓ Components: [N] components found
⚠️ Type "share" to proceed
Authentification première fois : Expliquer clairement :
- Le navigateur s'ouvrira
- L'utilisateur s'authentifie avec Webflow
- L'utilisateur sélectionne l'espace de travail cible
- Le CLI crée .env avec les identifiants
- Les partages futurs utiliseront ces identifiants (pas de ré-authentification)
Phase 5 : Exécution du déploiement
Commande share :
# Standard share (interactive)
webflow library share
# Non-interactive (for CI/CD)
webflow library share --api-token <TOKEN> --no-input
# Force share (ignore warnings)
webflow library share --force
# Development mode
webflow library share --dev
Options de share :
--manifest- Path to webflow.json (default: scans current directory)--api-token- Workspace API token (for CI/CD)--no-input- Disable interactive prompts--force- Force bundling even with warnings--debug-bundler- Show bundler configuration--dev- Bundle in development mode--verbose- Show detailed output
Indicateurs de succès :
- Bundle téléchargé avec succès
- Bibliothèque enregistrée dans l'espace de travail
- Composants disponibles dans Designer
- Fichier .env créé/mis à jour (première fois)
Fichier d'environnement (.env) : Après le premier partage réussi :
WEBFLOW_WORKSPACE_ID=your-workspace-id
WEBFLOW_WORKSPACE_API_TOKEN=your-api-token
⚠️ Critique : Toujours ajouter .env à .gitignore !
Étapes de vérification :
- Vérifier la sortie CLI pour le message de succès
- Vérifier que le fichier .env a été créé (première fois)
- Fournir les instructions d'accès à Designer
- Afficher l'URL du tableau de bord de l'espace de travail
Phase 6 : Débogage
Commande log :
# Show latest log file location
webflow library log
# Example output:
# Latest log: /Users/user/.webflow/logs/library-2024-01-20-15-30-45.log
Utiliser cette commande quand :
- Bundle échoue avec une erreur peu claire
- Commande share produit des avertissements
- Besoin de déboguer la configuration webpack
- Enquête sur les problèmes de dépendances
Problèmes courants :
Problème : « Could not find webflow.json »
❌ Configuration Not Found
The CLI couldn't find webflow.json in the current directory.
Solution:
1. Ensure you're in the project root
2. Create webflow.json with library configuration:
{
"library": {
"name": "Your Library Name",
"components": ["./src/**/*.webflow.tsx"]
}
}
3. Run command again
Problème : « No components found »
❌ No Components Found
The components glob pattern didn't match any files.
Current pattern: "./src/**/*.webflow.tsx"
Solution:
1. Check component files have correct naming
2. Verify glob pattern in webflow.json
3. Common patterns:
- "./src/**/*.webflow.tsx" (requires .webflow in name)
- "./src/components/**/*.tsx" (all tsx in folder)
- "./src/Button.tsx" (specific file)
Found files:
- src/Button.tsx (not matching pattern)
- src/Card.tsx (not matching pattern)
Suggestion: Rename to Button.webflow.tsx or update pattern
Gestion des erreurs
CLI non installé :
❌ Webflow CLI Not Found
The Webflow CLI is required for Code Components.
Installation:
npm install -g @webflow/webflow-cli
After installation, verify:
webflow --version
Documentation: https://developers.webflow.com/cli
Échecs de compilation :
❌ Build Failed
Error: [Specific error message]
Common Fixes:
- TypeScript errors: Review type definitions
- Missing deps: Run npm install
- Import errors: Check file paths
- Syntax errors: Check React component syntax
Show build output for details.
Need help? Run: webflow library log
Échecs de bundling :
❌ Bundle Failed
Error: [Specific error from CLI]
Common Causes:
- Invalid component files
- Webpack configuration errors
- Dependency conflicts
- File path issues
View detailed logs: webflow library log
Possible solutions:
1. Check component file syntax
2. Verify webflow.json configuration
3. Remove bundleConfig to use defaults
4. Check dependencies in package.json
Échecs de déploiement :
❌ Share Failed
Error: [Specific error from CLI]
Possible Causes:
- Network connection issues
- Workspace authentication expired
- Bundle validation failed
- Workspace permissions
Solutions:
1. Check internet connection
2. Re-authenticate: Remove .env and run share again
3. Fix bundle issues: Run webflow library bundle first
4. Verify workspace access in Webflow dashboard
Retry share? (yes/no)
Opérations sur fichiers
Lecture de fichiers : Toujours utiliser l'outil Read (jamais modifier) :
# View library configuration
Read: webflow.json
# View package dependencies
Read: package.json
# View component source
Read: src/Button.webflow.tsx
# View environment (if exists)
Read: .env
Découverte de fichiers : Utiliser l'outil Glob pour trouver des fichiers :
# Find all webflow components
Glob: **/*.webflow.tsx
# Find configuration files
Glob: *.json
# Find source files
Glob: src/**/*
# Find build output
Glob: dist/**/*
Ne jamais utiliser les outils Write/Edit :
- Ne pas créer webflow.json avec Write (afficher à l'utilisateur la structure)
- Ne pas modifier les fichiers de composants
- Ne pas éditer package.json
- Laisser l'utilisateur faire les changements de fichiers
- Lire uniquement les fichiers pour afficher le contenu
Indicateurs de progression
Pour le bundling :
🔄 Bundling Components...
Analyzing components... ✓
Resolving dependencies... ✓
Building bundle... ⏳
Optimizing... ⏳
Elapsed: 8s
Pour le déploiement :
🚀 Sharing Library...
Creating bundle... ✓
Uploading to workspace... ⏳
Validating components... ⏳
Uploaded: 287 KB
Elapsed: 12s
Modèles de sécurité
Mots-clés de confirmation :
- « share » - Partager la bibliothèque à l'espace de travail
- « deploy » - Alternative à « share »
- « proceed » - Continuer avec l'opération
- « cancel » - Annuler l'opération
- « skip » - Ignorer l'étape optionnelle
Aperçu avant le partage : Toujours afficher :
- Ce qui sera partagé (nom de la bibliothèque, composants)
- Où ce sera (espace de travail, ou authentification première fois nécessaire)
- Taille du bundle et statut de validation
- Impact des changements (composants nouveaux/mis à jour)
Transparence :
- Afficher toutes les commandes CLI avant l'exécution
- Afficher la sortie CLI en intégralité
- Signaler le succès/l'échec clairement
- Fournir des conseils de dépannage
- Afficher l'emplacement du journal pour le débogage
Bonnes pratiques
Développement de composants :
- Utiliser TypeScript pour la sécurité des types
- Suivre les meilleures pratiques React
- Garder la taille du bundle petite (< 1 Mo idéalement)
- Nommer les fichiers avec l'extension .webflow pour la clarté
- Documenter les props des composants
Gestion des dépendances :
- Garder les dépendances au minimum
- Éviter les grandes bibliothèques (lodash, moment)
- Utiliser des packages tree-shakeable
- Vérifier l'impact du bundle :
webflow library bundle --verbose - Dépendances peer pour React (non bundlées)
Mises à jour et versioning :
- Compiler avant de partager
- Tester le bundle en local :
webflow library bundle - Partager pour mettre à jour :
webflow library share - Pas de numéros de version nécessaires (toujours « latest »)
- Tester dans Designer après le déploiement
Gestion de l'espace de travail :
- Un espace de travail par fichier .env
- Utiliser --api-token pour plusieurs espaces de travail
- Ajouter .env à .gitignore
- Faire tourner les jetons en CI/CD
- Documenter quel espace de travail est configuré
Configuration :
- Garder webflow.json dans la racine du projet
- Utiliser des noms de bibliothèque clairs
- Utiliser des motifs glob de composants spécifiques
- Ajouter bundleConfig uniquement si nécessaire
- Contrôler la version de webflow.json (pas .env)
Cycle de vie des composants
Configuration initiale :
- Créer/avoir un projet React
- Ajouter webflow.json avec la configuration de la bibliothèque
- Nommer les fichiers de composants (ex. : .webflow.tsx)
- Compiler :
npm run build - Tester le bundle :
webflow library bundle - Partager :
webflow library share(authentifie la première fois)
Faire des mises à jour :
- Éditer les fichiers source des composants
- Compiler :
npm run build - Partager :
webflow library share(utilise les identifiants sauvegardés) - Rafraîchir Designer pour voir les changements
Test :
- Bundler localement :
webflow library bundle - Vérifier la taille du bundle et la validation
- Corriger tous les problèmes
- Partager quand prêt :
webflow library share - Ouvrir Webflow Designer
- Ajouter des composants à la page
- Tester la fonctionnalité
Débogage :
- Afficher les journaux :
webflow library log - Bundler avec verbose :
webflow library bundle --verbose - Vérifier la configuration : cat webflow.json
- Vérifier la compilation : npm run build
- Tester en mode développement :
webflow library share --dev
Référence des commandes CLI
Installation :
# Install CLI globally
npm install -g @webflow/webflow-cli
# Verify installation
webflow --version
Commandes de bibliothèque :
# Bundle locally (testing/validation)
webflow library bundle [options]
# Share to workspace (bundle + deploy)
webflow library share [options]
# View latest log file
webflow library log
Options de bundling :
# Custom output path
webflow library bundle --output-path ./build
# Force bundling (ignore warnings)
webflow library bundle --force
# Development mode
webflow library bundle --dev
# Show bundler config
webflow library bundle --debug-bundler
# Verbose output
webflow library bundle --verbose
Options de share :
# Standard interactive share
webflow library share
# Non-interactive (CI/CD)
webflow library share --no-input --api-token <TOKEN>
# Force share (ignore warnings)
webflow library share --force
# Development mode
webflow library share --dev
# Custom manifest location
webflow library share --manifest ./config/webflow.json
Options globales :
# Show version
webflow --version
# Show help
webflow --help
webflow library --help
webflow library share --help
Référence rapide
Workflow : configurer webflow.json → compiler → bundler → partager
Commandes clés :
webflow library bundle- Bundler localement pour le testwebflow library share- Bundler et déployer à l'espace de travailwebflow library log- Afficher les journaux de débogage
Configuration : webflow.json avec section library
Authentification : Automatique au premier webflow library share (ouvre le navigateur)
Environnement : WEBFLOW_WORKSPACE_ID et WEBFLOW_WORKSPACE_API_TOKEN dans .env
Vérification : Toujours vérifier webflow --version en premier
Aperçu : Afficher les détails du bundle avant le partage
Confirmation : Nécessiter le mot-clé « share » pour procéder
Documentation : https://developers.webflow.com/code-components/introduction