You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行nodemon时遭遇‘Module not found’错误,请求排查解决

解决"Module not found"错误及代码问题

1. 拆分前后端代码,移除前端中的后端依赖

你当前把后端服务代码和前端React入口代码混在一起了,这是核心问题:

  • apollo-server-express是用来搭建GraphQL后端的工具,根本不该在前端React文件里导入,这直接会导致模块找不到(哪怕装了依赖,这么用也是逻辑错误)
  • 前端只需要保留客户端相关代码,后端代码要单独抽出来放到另一个文件里(比如server.js)

修正后的前端index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App.jsx';
import 'bootstrap/dist/css/bootstrap.css';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';

// 只保留前端客户端配置
const client = new ApolloClient({
  uri: 'http://localhost:4000/graphql', // 要指向后端的完整GraphQL端点路径
  cache: new InMemoryCache(),
});

ReactDOM.render(
  <ApolloProvider client={client}>
    <App />
  </ApolloProvider>,
  document.getElementById('root')
);

新建后端server.js文件:

import express from 'express';
import { ApolloServer } from 'apollo-server-express';
import { typeDefs } from './Schema/type-defs'; 
import { resolvers } from './Schema/resolvers'; 

const app = express();

async function startServer() {
  const server = new ApolloServer({
    typeDefs,
    resolvers,
  });
  await server.start();
  server.applyMiddleware({ app });

  app.listen({ port: 4000 }, () => {
    console.log('GraphQL server running at http://localhost:4000/graphql');
  });
}

startServer();

2. 检查并安装缺失的依赖

执行命令补全所有需要的依赖:

# 前端依赖
npm install react react-dom @apollo/client bootstrap
# 后端依赖
npm install apollo-server-express express graphql

3. 验证文件路径正确性

  • 确认./Schema/type-defs、./Schema/resolvers文件真实存在,文件名大小写要完全匹配(Node.js对文件名大小写敏感)
  • 确认App.jsx路径正确,如果文件后缀是.js,就把导入路径改成./App.js

4. 分别启动前后端

  • 启动后端:node server.js(如果用ES模块语法,需要在package.json里添加"type": "module")
  • 启动前端:用React项目默认的启动命令(比如npm start)

内容的提问来源于stack exchange,提问作者Hlobi Lukhele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:30:14