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
相关产品推荐
相关产品推荐

