尽pipe文件存在,但是没有find“模块”
我下载angular启动器 ,运行应用程序,运行良好。 现在,我在“src / app / services / people.service.ts”中添加了一个新的文件“people.service.ts”。
当我尝试导入它时,出现错误:
找不到模块:错误:无法parsing'/ path-to-project / angular-starter-master / src / app'中的'services / people.service'
这是我用来导入它的代码(在src / app / app.module.ts中):
import {PeopleService} from 'services/people.service';
我确信没有错别字,因为IDE可以识别它。 整个项目中没有任何TypeScript错误。 文件“services / people.service”包含一个名为PeopleService的类。
任何帮助将深受赞赏。 请让我知道,如果你需要任何额外的信息。
问题是你正在使用绝对path而不是相对path。 将导入更改为以下内容:
import {PeopleService} from './services/people.service';
TypeScript 2.0+
在TypeScript 2.0中,你可以在tsconfig.json中添加一个baseUrl属性:
{ "compilerOptions": { "baseUrl": "." // etc... }, // etc... }
然后,您可以像导入基本目录一样导入所有内容:
import {PeopleService} from 'services/people.service';
最重要的是,你可以添加一个path属性,它允许你匹配一个模式,然后映射出来。 例如:
{ "compilerOptions": { "baseUrl": ".", "paths": { "services/*": [ "services/validation/*" ] } // etc... }, // etc... }
这将允许你从任何地方像这样导入它:
import {PeopleService} from 'services/people.service';
从那里,你将需要configuration你用来支持这些导入名称的模块加载器。 现在TypeScript编译器似乎不会自动映射出来。
你可以在github的问题上阅读更多。 还有一个rootDirs属性,在使用多个项目时非常有用。
要么
您可以直接将绝对path更改为相对path,如下所示:
import {PeopleService} from './services/people.service';