nuxt3 cannot find module 'node_modules/graphql/language/printer' imported from /mnt/d/projects/.output/server/chunks/app/server.mjs

Viewed 229

When I use Nuxt3 + Vue Apollo + GraphQL, running yarn build and node .output/server/index.mjs, getting the error:

Cannot find module '/mnt/d/projects/.output/server/node_modules/graphql/language/printer' imported from /mnt/d/projects/.output/server/chunks/app/server.mjs
Did you mean to import graphql/language/printer.js?
  at new NodeError (node:internal/errors:371:5)
  at finalizeResolution (node:internal/modules/esm/resolve:416:11)
  at moduleResolve (node:internal/modules/esm/resolve:932:10)
  at defaultResolve (node:internal/modules/esm/resolve:1044:11)
  at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)
  at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)
  at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
  at link (node:internal/modules/esm/module_job:75:36)

This is my environment and configuration:

  • Operating System: Linux version 5.4.72-microsoft-standard-WSL2
  • Node Version: v16.13.0
  • Npm Version: v8.1.0

package.json:

{
  "devDependencies": {
    "@apollo/client": "^3.6.2",
    "@vue/apollo-composable": "^4.0.0-alpha.17",
    "@vue/apollo-util": "^4.0.0-alpha.17",
    "graphql": "^15.8.0",
    "graphql-tag": "2.12.6",
    "nuxt3": "3.0.0-27470397.9ebea90",
    ...
  },
}

nuxt.config.ts:

import { defineNuxtConfig } from 'nuxt3';

export default defineNuxtConfig({
  build: {
    transpile: ['tslib', '@apollo/client', 'ts-invariant/process'],
  },
  ...
});

I don't know what the problem is, how to solve?

1 Answers

Your issue and possible solutions are described in the docs: https://v3.nuxtjs.org/guide/going-further/esm/

To resolve this error, add graphql to be transpiled during build

nuxt.config.ts:

import { defineNuxtConfig } from 'nuxt3';

export default defineNuxtConfig({
  build: {
    transpile: ['graphql'],
  },
  ...
});
Related