错误:graphql-upload/package.json 中没有定义“exports”main

how*_*yho 10 javascript graphql express-graphql nestjs

已经安装了 graphql-upload,执行

import { graphqlUploadExpress } from 'graphql-upload';

并收到此错误:错误:在 graphql-upload/package.json 中没有定义“exports”main

依赖项:

"graphql-upload": "^14.0.0",
"graphql": "15.8.0",
"graphql-request": "^4.2.0",
"graphql-tools": "^8.2.0",
"@nestjs/axios": "^0.0.7",
"@nestjs/common": "^8.4.1",
"@nestjs/config": "^1.1.5",
"@nestjs/core": "^8.4.1",
"@nestjs/graphql": "^9.1.2",
"@nestjs/platform-express": "^8.0.0",
Run Code Online (Sandbox Code Playgroud)

节点版本:v16.10.0

小智 5

刚刚遇到这个问题。显然,新版本i.e. ^16有重大更新

现在你需要做

const Upload = require('graphql-upload/Upload.mjs');

或者

import { default as Upload } from 'graphql-upload/Upload.mjs';

相反.js,所有进口都需要来自.mjs.

希望这可以帮助!


how*_*yho 1

所以问题出在 .default 构建设置中。您可以删除它,但是当我们删除它时,我们看到了其他模块的问题,因此我们通过以下方式解决了这个问题:

import Upload = require('graphql-upload/Upload.js');
Run Code Online (Sandbox Code Playgroud)

它看起来很脏,但是很有效。

您可以在 GitHub 上的问题中查看有关此模块的对话:https://github.com/jaydenseric/graphql-upload/issues/305#issuecomment-1136574019