// 'withModuleConfig' is internal lower level API
// here we show how emscripten could be further configured
// It is preferred to use specific 'with***' methods instead in all other cases.
+ .withConfig({
+ resources: {
+ modulesAfterConfigLoaded: {
+ "advanced-sample.lib.module.js": ""
+ }
+ }
+ })
.withModuleConfig({
configSrc: "./blazor.boot.json",
onConfigLoaded: (config) => {
// config is loaded and could be tweaked before the rest of the runtime startup sequence
config.environmentVariables["MONO_LOG_LEVEL"] = "debug";
config.browserProfilerOptions = {};
- config.resources.modulesAfterConfigLoaded = {
- "advanced-sample.lib.module.js": ""
- }
},
preInit: () => { console.log('user code Module.preInit'); },
preRun: () => { console.log('user code Module.preRun'); },
normalizeConfig();
+ // scripts need to be loaded before onConfigLoaded because Blazor calls `beforeStart` export in onConfigLoaded
+ await importLibraryInitializers(loaderHelpers.config.resources?.modulesAfterConfigLoaded);
+ await invokeLibraryInitializers("onRuntimeConfigLoaded", [loaderHelpers.config]);
+
if (module.onConfigLoaded) {
try {
await module.onConfigLoaded(loaderHelpers.config, exportedRuntimeAPI);
}
}
- await importLibraryInitializers(loaderHelpers.config.resources?.modulesAfterConfigLoaded);
- await invokeLibraryInitializers("onRuntimeConfigLoaded", [loaderHelpers.config]);
normalizeConfig();
loaderHelpers.afterConfigLoaded.promise_control.resolve(loaderHelpers.config);