You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm currently creating a project with Nuxt.js and I'm using svg.js. But since the Svg element doesn't work on server-side, I need to use svgdom.
Unfortunately, if I use import { createSVGWindow } from 'svgdom';, svgdom returns an error in the console saying Uncaught ReferenceError: __dirname is not defined referencing the src/utils/dirname.cjs file.
I've searched for solutions and I've found issue #67 . It tells to use svgdom/main-module.js in the import so I tried. But if I do it gives me the Missing "./main-module.js" export in "svgdom" package error on top of the __dirname is not defined one. And I believe that svgdom/main-module.js should work but it somehow doesn't.
If I use ./node_modules/svgdom/main-module.js it results in the same behaviour as the first one where I used only svgdom in the import.
Honestly, I don't really know where this issue is coming from. Is it Nuxt? Vite? svgdom? And if it is indeed coming from svgdom, how do I fix it?
Thanks in advance for your answer.
The text was updated successfully, but these errors were encountered:
Nuxt and Vite sound more like client side then server side. svgdom is serveronly. If it gets served to the client somewhere it will fail. Vite also tries to wrap all cjs modules into esm modules which will cause __dirname to not be defined
What I'm trying to do is to generate an SVG on the server side, color it on the server side and then include it in a div (client-side).
Is there I way I can do that properly or should I move my code so that it is only executed on the client side?
Hello 👋
I'm currently creating a project with Nuxt.js and I'm using
svg.js
. But since the Svg element doesn't work on server-side, I need to usesvgdom
.Unfortunately, if I use
import { createSVGWindow } from 'svgdom';
,svgdom
returns an error in the console sayingUncaught ReferenceError: __dirname is not defined
referencing thesrc/utils/dirname.cjs
file.I've searched for solutions and I've found issue #67 . It tells to use
svgdom/main-module.js
in the import so I tried. But if I do it gives me theMissing "./main-module.js" export in "svgdom" package
error on top of the__dirname is not defined
one. And I believe thatsvgdom/main-module.js
should work but it somehow doesn't.If I use
./node_modules/svgdom/main-module.js
it results in the same behaviour as the first one where I used onlysvgdom
in the import.Honestly, I don't really know where this issue is coming from. Is it Nuxt? Vite?
svgdom
? And if it is indeed coming fromsvgdom
, how do I fix it?Thanks in advance for your answer.
The text was updated successfully, but these errors were encountered: