Closed Riley- closed 1 year ago
hmm this seems to be related to mjml-browser
, do you have a more complete stacktrace? Also which browser are you using?
Tested in Chrome, Edge and Firefox, occurs in all of them.
Chrome and Edge console error output:
index.js:1 Uncaught TypeError: Cannot read property 'replace' of undefined
at $Ie (index.js:1)
at mjml2html (index.js:1)
at mjmlConvert (utils.js:23)
at r.getTemplateFromMjml (Style.js:40)
at render (index.js:248)
at r.addToCollection (grapes.min.js?a826:3)
at eval (grapes.min.js?a826:3)
at Function.m.each.m.forEach (grapes.min.js?a826:2)
at r.eval [as each] (grapes.min.js?a826:2)
at render (grapes.min.js?a826:3)
Firefox console output:
Uncaught TypeError: t is undefined
$Ie index.js:1
mjml2html index.js:1
mjmlConvert utils.js:23
getTemplateFromMjml Style.js:40
render index.js:248
addToCollection grapes.min.js:3
render grapes.min.js:3
forEach grapes.min.js:2
a/</t.prototype[i]</< grapes.min.js:2
render grapes.min.js:3
renderChildren grapes.min.js:2
render grapes.min.js:2
addToCollection grapes.min.js:3
render grapes.min.js:3
forEach grapes.min.js:2
a/</t.prototype[i]</< grapes.min.js:2
render grapes.min.js:3
renderChildren grapes.min.js:2
render grapes.min.js:2
addToCollection grapes.min.js:3
render grapes.min.js:3
forEach grapes.min.js:2
a/</t.prototype[i]</< grapes.min.js:2
render grapes.min.js:3
renderChildren grapes.min.js:2
render grapes.min.js:2
render grapes.min.js:12
renderBody grapes.min.js:12
I grapes.min.js:2
r grapes.min.js:2
x grapes.min.js:2
Upgraded to grapesJS 0.16.34
. The error is still present in ^0.4
of grapesjs-mjml
. As you've mentioned it is likely related to mjml-browser
.
Not sure if this helps, but some more information:
m | @ | grapes.min.js?a826:2
v | @ | grapes.min.js?a826:2
d | @ | grapes.min.js?a826:2
c.trigger | @ | grapes.min.js?a826:2
log | @ | grapes.min.js?a826:2
logError | @ | grapes.min.js?a826:2
addToCollection | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
Te | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
render | @ | grapes.min.js?a826:2
renderChildren | @ | grapesjs-mjml.min.js?f4df:1
render | @ | grapesjs-mjml.min.js?f4df:1
addToCollection | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
Te | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
render | @ | grapes.min.js?a826:2
renderChildren | @ | grapes.min.js?a826:2
render | @ | grapes.min.js?a826:2
addToCollection | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
Te | @ | grapes.min.js?a826:2
eval | @ | grapes.min.js?a826:2
render | @ | grapes.min.js?a826:2
renderChildren | @ | grapes.min.js?a826:2
render | @ | grapes.min.js?a826:2
addToCollection | @ | grapes.min.js?a826:2
addTo | @ | grapes.min.js?a826:2
m | @ | grapes.min.js?a826:2
I get this error when trying to use grapesjs-mjml
in Angular v11. At first I thought this is caused by some collision with a third-party package. But then I created a brand-new Angular v11 app and added grapesjs
and grapesjs-mjml
into it. Got this error again. I guess grapesjs-mjml
is not compatible with Angular.
So for me, the error Cannot read property 'replace' of undefined
was caused by Angular injecting _ngcontent
attributes inside of the grapesJs designer HTML.
Once I put grapesJs designer into a separate HTML file, and use iframe in Angular to embed the designer inside of Angular app, the error went away. You can use window.postMessage
to move data back and forth between Angular and the iframe.
Closing this one as it sounds like unrelated to the core or the plugin itself. If you still believe there is an issue, please provide a reproducible demo.
I'm getting an error when updating to the latest version (0.4.0), from the previous version. The error prevents the page from rendering.
index.js?:formatted:49863 Uncaught (in promise) TypeError: Cannot read property 'replace' of undefined
Which relates to:
Using Grapes version 0.15.10.