dnum-mi / vue-dsfr

Portage en Vue du DSFR
https://vue-ds.fr
Other
58 stars 27 forks source link

Erreur `Cannot use import statement outside a module` #229

Closed maxbellec closed 2 years ago

maxbellec commented 2 years ago

Sur un projet quasi-vide généré avec npm init vue-dsfr et Nuxt -source complète du projet-, le serveur de production en SRR (lancé avec npm run start) me donne l'erreur suivante :

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1031:15)
    at Module._compile (node:internal/modules/cjs/loader:1065:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at /telescoop/moine/frontend/.output/server/node_modules/@laruiss/vue-dsfr/dist/vue-dsfr.umd.js:2:126
    at Object.<anonymous> (/telescoop/moine/frontend/.output/server/node_modules/@laruiss/vue-dsfr/dist/vue-dsfr.umd.js:5:3)

Comme la documentation de Nuxt le suggère

If you get an Cannot use import statement outside a module error, you may need to add your package to the build > transpile option in nuxt.config.js for webpack loader to make your plugin available.

cette erreur est réparée en ajoutant '@laruiss/vue-dsfr', dans le build.transpile de nuxt.config.js. Cela mériterait peut-être de figurer de base dans le nuxt.config.js généré par npm init vue-dsfr ?

laruiss commented 2 years ago

Bonjour, merci pour votre message, nous regardons ça très vite !

laruiss commented 2 years ago

Bonjour, je suis étonné, car sur ce projet stackblitz qui utilise VueDsfr dans Nuxt 3, je n’ai pas besoin de rajouter quoi que ce soit de plus dans nuxt.config.js

laruiss commented 2 years ago

Je viens de faire un test, et je n’ai pas d’erreur avec les templates de nuxt, ni en JS, ni en TS.

J'ai cependant mis à jour create-vue-dsfr parce que la gestion des layouts a changé.

Je ferme cette issue. Si le problème persiste, merci de le signaler sur create-vue-dsfr.