Einführung in Extension.js
- Extension.js ist ein Cross-Browser-Entwicklungstool für Extensions im Plug-and-Play-Stil, das ohne Build-Konfiguration auskommt.
- Es unterstützt standardmäßig TypeScript, WebAssembly, React und modernes JavaScript, sodass plattformübergreifende Browser-Extensions erstellt werden können.
Erstellen einer neuen Erweiterung
Nutzung von Chrome Extension Samples
Chrome Extension Samples in Microsoft Edge verwenden
Mozilla-Add-ons in Edge ausführen
Extension.js in einer bestehenden Erweiterung verwenden
- Wenn Ihre bestehende Erweiterung bereits einen Paketmanager nutzt, können Sie nach der Installation des Extension.js-Pakets Skripte erstellen und ausführen
- Installieren Sie extension als
devDependency
npm install extension --save-dev
- Verbinden Sie npm-Skripte mit den Extension.js-Befehlen
{
"scripts": {
"build": "extension build",
"dev": "extension dev",
"start": "extension start"
},
"devDependencies": {
"extension": "latest"
}
}
- Verwenden Sie während der Entwicklung
npm run dev, für den Produktivmodus npm run start und für den Produktions-Build npm run build.
Bestimmten Browser für die Entwicklung auswählen
- Desktop-Browser-Unterstützung
| Brave |
Chrome |
Edge |
Firefox |
Opera |
Safari |
Vivaldi |
| ☑️ |
✅ |
✅ |
⛔️ |
☑️ |
⛔️ |
☑️ |
- ☑️ = hohe Wahrscheinlichkeit für Funktionalität, aber der Browser-Launcher wird nicht unterstützt
- Mobile Browser-Unterstützung
| Firefox Android |
iOS Safari |
| ⛔️ |
⛔️ |
- Wenn Sie einen bestimmten Browser als Ziel haben, übergeben Sie das
--browser-Flag an die Befehle dev/start.
- Beispiel:
npx extension dev path/to/extension --browser=edge
- Hinweis: Wird
--browser="all" übergeben, werden alle verfügbaren Browser auf einmal geladen.
Meinung von GN⁺
- Extension.js wirkt wie ein mächtiges Tool für die Entwicklung plattformübergreifender Erweiterungen. Insbesondere weil es sofort einsatzbereit ist und mehrere Browser einfach unterstützt werden können, könnte es die Entwicklungszeit deutlich reduzieren.
- Ein weiterer großer Vorteil ist, dass bestehende Samples wie Chrome Extension Samples oder die MDN WebExtensions Examples genutzt werden können. Auch Einsteigerkinder können so leicht starten.
- Allerdings scheint die Unterstützung einiger Browser wie Firefox oder Safari noch nicht vollständig zu sein, daher ist Vorsicht geboten. Wenn Sie auf einen einzelnen Browser abzielen, sollten Sie ggf. die dedizierten Entwickler-Tools dieses Browsers in Betracht ziehen.
- Ich bin gespannt auf die Stärken und Schwächen im Vergleich zu bestehenden Tools wie Plasmo, der WebExtensions API und ähnlichen Werkzeugen. Insbesondere lohnt es sich, die Unterstützung aktueller Spezifikationen wie Manifest V3 zu prüfen.
1 Kommentare
Hacker News Kommentar
Extension.jswurde vorgestelltExtension.jsdiese Probleme löstExtension.jswurde ebenfalls gelobtExtension.jsin BetrachtExtension.jsenthalten sein solltePlasmoaufgeworfenExtension.jshier Abhilfe schafftsafari-web-extension-converterrelativ einfach wäreExtension.jsgestelltExtension.js