Ich entwickle eine Chrome-Erweiterung mit React und Webpack.Webpack und programmgesteuerte Inhaltsskripts
In diesem Projekt werden verschiedene Module programmgesteuert Inhaltsskripts mit chrome.tabs.executeScript(null, {file: 'content-script-file.js'})
injizieren.
Das wird problematisch, da ich Webpack für die Bündelung alles verwende. Im Grunde lädt das Hintergrundskript eine Reihe von Modulen, die alle so konfiguriert sind, dass sie Inhaltsskripte unter bestimmten Umständen programmatisch einfügen.
Ich kann jedoch nicht herausfinden, wie diese Inhaltsskripts in der gebündelten Anwendung "gefunden" werden. Sie werden nicht explizit importiert, nur in executeScript
Aufrufe referenziert.
Zur gleichen Zeit verwenden die Inhaltsskripts React, also müssen sie die babel-loader
in Webpack durchlaufen.
Irgendwelche Ideen?
Also im Grunde müssen Sie eine Wrapper-Funktion, die Babel-Skript (wohl eine sehr große) injiziert dann das eigentliche Content-Skript (und wahrscheinlich der Code, der Babel auslöst) ... Haben Sie keine Angst, die Overhead könnte zu groß sein? – wOxxOm
@wOxxOm: Ich möchte diese Art von Blähungen vermeiden, um ehrlich zu sein, aber ich bin neu bei Webpack, also bin ich mir nicht sicher, was es für mich tun kann, das zu verhindern. – damd
Der effiziente Ansatz wäre, vorkompilierte Skripts zu injizieren. Ich denke, Sie müssen manuell eine Liste von Scripts für die Vorkompilierung definieren, aber ich bin kein Experte für Webpack. – wOxxOm