Ich versuche,
Msal-Browser wie hier dokumentiert zu verwenden, aber von einer einfachen JavaScript-Datei in einem Browser. Ich habe ursprünglich einen dynamischen Import verwendet und dachte, dass dies Teil des Problems war, aber ich habe immer noch das gleiche Problem, nachdem ich zu einem statischen Import gewechselt bin (mit Typ = "Modul" im Skript für meine JS -Datei). Ich verwende nicht React, Angular oder ein anderes Framework für diese Anwendung, aber DOJO ist verfügbar, da es von anderen Apps auf derselben Site verwendet wird. msclientid und mstenantid sind Variablen, die in einem anderen Code eingestellt sind. MSAL hat einen Wert, enthält jedoch offenbar keine Eigenschaften oder Funktionen. Aufrufen msal.CreateStandardPublicClientApplication Erzeugt "TypeError: msal.CreateStandardPublicClientApplication ist keine Funktion". Protokollierung msal erzeugt "Modul {symbol (symbol.toStringtag): 'modul'}" in der Browserkonsole.
Code: Select all
import * as msal from './msal-browser.js';
console.log('Imported MSAL',msal);
const msalObj=msal.createStandardPublicClientApplication({
auth: {
clientId: msClientId,
authority: 'https://login.microsoftonline.com/'+msTenantId
}
});
Ich vermute, es hat etwas mit dem Code oben in der Datei
msal-browser.js zu tun, die wie folgt lautet:
Code: Select all
'use strict';
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.msal = {}));
})(this, (function (exports) { 'use strict';
< /code>
Ich habe die Browserkonsole verwendet, um die Werte der Dinge in diesem Code zu überprüfen. Exporte
ist nicht definiert, definiere ist eine Funktion und definiere.amd ist definiert. Es scheint daher zu definieren (['exportiert'], fabrik) würde aufgerufen, wenn die Datei geladen wird.
Wie kann ich die Exporte des Moduls verwenden?