Pracuję nad rozszerzeniem przeglądarki Chrome za pomocą React i WebPack.Pakiety skryptów zawartości Webpack i programowo wstrzykiwanych
W tym projekcie różne moduły będą programowo wstrzykiwać skrypty treści za pomocą chrome.tabs.executeScript(null, {file: 'content-script-file.js'})
.
Jest to problematyczne, ponieważ używam pakietu Webpack do łączenia wszystkich elementów. Zasadniczo skrypt działający w tle ładuje kilka modułów, które są skonfigurowane do programowego uruchamiania skryptów zawartości w określonych okolicznościach.
Nie mogę jednak dowiedzieć się, jak te "skrypty" zostaną "znalezione" w pakiecie aplikacji. Nie są one nigdy jawnie importowane, odwołują się tylko do wywołań executeScript
.
W tym samym czasie skrypty treści korzystają z opcji Reaguj, dlatego muszą przejść przez stronę WWW w wersji babel-loader
.
Wszelkie pomysły?
Więc w zasadzie musisz utworzyć funkcję otoki, która wstrzykuje skrypt babel (prawdopodobnie bardzo duży), a następnie skrypt treści (i prawdopodobnie kod, który wyzwala babel) ... Nie boisz się, że obciążenie mogłoby być zbyt duże? – wOxxOm
@wOxxOm: Chciałbym uniknąć tego rodzaju rozrostu, żeby być szczerym, ale jestem nowy w Webpack, więc nie jestem pewien, co może zrobić, aby temu zapobiec. – damd
Skuteczne podejście polegałoby na wstrzykiwaniu skompilowanych skryptów. Sądzę, że będziesz musiał ręcznie zdefiniować listę skryptów do prekompilacji, ale nie jestem ekspertem od webpacka. – wOxxOm