I would like to use code splitting for the login part of my app.
This is the working snippet without code splitting:
import { Auth as Amplify } from "@aws-amplify/auth";
let amplify = null;
async getAmplify() {
if (amplify) {
return amplify;
}
amplify = Amplify;
amplify.configure(awsconfig);
return amplify;
}
class Auth {
async handleAuthentication() {
getAmplify().then((AWSAuth) => {
AWSAuth
.currentSession()
.then((session) => {
this.handleAuthResult("login", session, null);
})
.catch((error) => {
console.log("Not signed in");
});
});
}
}
I try to change this line amplify = Amplify; into this.amplify = (await import("@aws-amplify/auth")).Auth; and remove import { Auth as Amplify } from "@aws-amplify/auth";.
Login, Logout everything is working except .currentSession(). It always fail with the error "No current user"...