Add entryPointBaseUrl support for web workers

Introduces the entryPointBaseUrl property to configuration in index.html and flutter_bootstrap.js, and updates python.js to use this base URL when creating Python web workers. This change allows for more flexible deployment scenarios where the entry point base URL may differ.
This commit is contained in:
Feodor Fitsner 2025-09-26 09:02:57 -07:00
parent b89da8ac93
commit 4d71b7501d
3 changed files with 7 additions and 4 deletions

View File

@ -3,6 +3,7 @@
var flutterConfig = { var flutterConfig = {
multiViewEnabled: flet.multiView, multiViewEnabled: flet.multiView,
entryPointBaseUrl: flet.entryPointBaseUrl,
assetBase: flet.assetBase assetBase: flet.assetBase
}; };
if (flet.webRenderer != "auto") { if (flet.webRenderer != "auto") {

View File

@ -25,6 +25,7 @@
multiView: false, multiView: false,
noCdn: "{{ cookiecutter.no_cdn }}".toLowerCase() == "true", noCdn: "{{ cookiecutter.no_cdn }}".toLowerCase() == "true",
webSocketEndpoint: "/ws", webSocketEndpoint: "/ws",
entryPointBaseUrl: "/",
assetBase: "/", assetBase: "/",
routeUrlStrategy: "{{ cookiecutter.route_url_strategy }}", routeUrlStrategy: "{{ cookiecutter.route_url_strategy }}",
canvasKitBaseUrl: "/canvaskit/", canvasKitBaseUrl: "/canvaskit/",

View File

@ -12,7 +12,8 @@ globalThis.jsConnect = async function(appId, args, dartOnMessage) {
}; };
console.log(`Starting up Python worker: ${appId}, args: ${args}`); console.log(`Starting up Python worker: ${appId}, args: ${args}`);
_apps[appId] = app; _apps[appId] = app;
app.worker = new Worker("python-worker.js"); app.worker = new Worker((flet.entryPointBaseUrl.endsWith("/") ?
flet.entryPointBaseUrl.slice(0, -1) : flet.entryPointBaseUrl) + "python-worker.js");
var error; var error;
app.worker.onmessage = (event) => { app.worker.onmessage = (event) => {