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

Angular英雄指南中找不到模块'./in-memory-data-service'问题求助

解决Angular英雄指南中TS2307找不到模块'./in-memory-data.service'的问题

嘿,这个问题我在跟着Angular英雄指南做项目的时候也碰到过,别着急,咱们一步步排查解决:

  • 确认文件是否存在
    首先检查你的src/app目录下,有没有名为in-memory-data.service.ts的文件。Angular英雄指南里这个服务需要你手动创建,如果你跳过了创建步骤,就会触发这个错误。如果没有的话,你需要创建这个文件,内容可以参考指南里的示例代码:

    import { Injectable } from '@angular/core';
    import { InMemoryDbService } from 'angular-in-memory-web-api';
    import { Hero } from './hero';
    
    @Injectable({
      providedIn: 'root',
    })
    export class InMemoryDataService implements InMemoryDbService {
      createDb() {
        const heroes = [
          { id: 12, name: 'Dr. Nice' },
          { id: 13, name: 'Bombasto' },
          { id: 14, name: 'Celeritas' },
          { id: 15, name: 'Magneta' },
          { id: 16, name: 'RubberMan' },
          { id: 17, name: 'Dynama' },
          { id: 18, name: 'Dr. IQ' },
          { id: 19, name: 'Magma' },
          { id: 20, name: 'Tornado' }
        ];
        return {heroes};
      }
    
      genId(heroes: Hero[]): number {
        return heroes.length > 0 ? Math.max(...heroes.map(hero => hero.id)) + 1 : 11;
      }
    }
    
  • 检查文件路径是否正确
    确保InMemoryDataService的导入路径./in-memory-data.service和实际文件位置完全匹配。如果你的服务文件放在了src/app的子文件夹(比如services)里,那路径应该改成./services/in-memory-data.service,别搞错了层级。

  • 确认依赖是否正确安装
    你用到的HttpClientInMemoryWebApiModule来自angular-in-memory-web-api包,得确保已经安装了这个依赖。打开终端,在项目根目录下运行:

    npm install angular-in-memory-web-api --save
    

    安装完成后,重启你的开发服务器(ng serve)让依赖生效。

  • 清除缓存并重启工具
    有时候TypeScript的缓存或者IDE的索引会出问题,导致识别不到文件。你可以:

    • 停止当前的ng serve进程,重新启动它
    • 重启你的代码编辑器,让它重新索引项目文件

按照上面的步骤操作,基本就能解决这个找不到模块的问题了。

内容的提问来源于stack exchange,提问作者Vivek Nemade

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:57:37