请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

运行mock报错

npm run mock

water-drop-mobile@0.0.0 mock D:\work\learn\drop\water-drop-mobile
node ./mock/index.js

file:///D:/work/learn/drop/water-drop-mobile/node_modules/@graphql-tools/utils/esm/helpers.js:1
import { parse } from ‘graphql’;
^^^^^
SyntaxError: The requested module ‘graphql’ is expected to be of type CommonJS, which does not support named exports. CommonJS modules can be imported by importing the default export.
For example:
import pkg from ‘graphql’;
const { parse } = pkg;
at ModuleJob._instantiate (internal/modules/esm/module_job.js:98:21)
at async ModuleJob.run (internal/modules/esm/module_job.js:137:5)
at async Loader.import (internal/modules/esm/loader.js:165:24)
at async Object.loadESM (internal/process/esm_loader.js:68:5)

正在回答 回答被采纳积分+3

1回答

黑石 2023-04-11 22:33:29

这个问题是跟模块引入方式有关,你可以按照老师的 tsconfig.json 里的配置进行修改,看看我们代码之间的差异。

{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"allowJs": false,
"skipLibCheck": true,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"paths": {
"@/*": [
"./src/*"
]
}
},
"include": ["./"],
"references": [{ "path": "./tsconfig.node.json" }]
}

主要看看 

esModuleInterop module allowSyntheticDefaultImports

这三个属性的设置。

0 回复 有任何疑惑可以回复我~
  • 提问者 兰博万 #1
    老师,我找到问题了,是我忘了切换NodeJS版本,用了14 的版本,换回最新版本就好了。。。
    回复 有任何疑惑可以回复我~ 2023-04-12 09:10:19
  • 黑石 回复 提问者 兰博万 #2
    OK!
    回复 有任何疑惑可以回复我~ 2023-04-12 19:28:49

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号