我正在阅读教程并按照它说的做一切,直到我到达教程的这一部分,它会抛出这个错误。我已经定义了英雄类,所以我很困惑为什么它会给我这个错误。我已经重新启动了程序,甚至重新创建了mock-heroes类型脚本。我正在使用Visual Studio代码,所以这里是我的两个文件的代码:
在hero.ts中定义的英雄类:
export class Hero {
id: number;
name: string;
}
模拟heroes.ts:
import { Hero } from './hero'; <----- Error is coming from here
export const HEROES: Hero[] = [
{ id: 11, name: 'Deku' },
{ id: 12, name: 'All Might' },
{ id: 13, name: 'Todoroki' },
{ id: 14, name: 'Naruto' },
{ id: 15, name: 'Ichigo' },
{ id: 16, name: 'Goku' },
{ id: 17, name: 'Vegeta' },
{ id: 18, name: 'Natsu' },
{ id: 19, name: 'Megaman' },
{ id: 20, name: 'One Punch Man' }
];
笔记本电脑上的文件夹结构:
angular-tour-of-heroes/src/
app/
mock-heroes.ts
heroes/
hero.ts
答案 0 :(得分:1)
按照Angular Tutorial: create a hero interface的说明,hero.ts的位置应位于app
文件夹(此处为src/app/hero.ts
)中,并且不要 {{1} }
使用该文件结构,src/app/heroes/hero.ts
中的路径应为:
heroes.component.ts
答案 1 :(得分:0)
是的,因为文件夹结构会改变导入,如下所示
import { Hero } from './heroes/hero';
答案 2 :(得分:0)
您的解决方案是将路径更改为:
import { Hero } from './heroes/hero';
答案 3 :(得分:0)
将hero.ts
移至文件夹src/app/hero.ts
而不是src/app/hero/hero.ts
。
我知道Angular指示创建此hero
文件夹。只是解雇它。
答案 4 :(得分:0)
我刚刚遇到了类似的错误
Module not found: Error: Can't resolve '../mock-heroes' in 'E:\Angular\project1\src\app'
ERROR in src/app/hero.service.ts:2:22 - error TS2307: Cannot find module '../hero1' or its corresponding type declarations.
文件夹结构:
project1/src/
app/
hero1.ts
从'../hero1.ts'导入{Hero};
如果您注意到'../ hero1',则我的文件夹结构中没有这样的路径 只需删除一个点'./ hero1'即可正确编译代码。
删除点后
从'./hero1'导入{Hero};