I have to call an external app on my website with:
const { toggle } = window.cdn.createAnimation('Ff8rx6E4');
document.querySelector('#btn-mobile-openapp').onclick = toggle;
This works surprisingly ok. But when I am trying to minify the file, it runs a js validity check and I am getting:
missing : after property id
The regular onclick or eventlisteners won't work here. Any ideas how to correctly define toggle without running into an error?
This looks to me like the minifier isn't aware of destructuring. Try switching the JavaScript to
const animation = window.cdn.createAnimation('Ff8rx6E4');
document.querySelector('#btn-mobile-openapp').onclick = animation.toggle;
Or there could be some invisible character in your { toggle }? I can see 2 spaces before the closing }.
Failing that, what are you using to minify?
This JavaScript exception missing : after property id occurs if objects are declared using the object’s initialization syntax. It can happen when there is a mistake in the object initializer syntax somewhere. Might be in fact a missing curly bracket, but could also be a missing comma.
In your case, since it's only occuring in minification and by looking at your code, try to use it in a regular assignment instead of the object destructuring way which might be the cause for the error.
const animate = window.cdn.createAnimation('Ff8rx6E4');
document.querySelector('#btn-mobile-openapp').onclick = animate.toggle;