Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获得';未找到模块';尽管文件存在_Javascript_Node.js_Angular_Typescript_Webpack - Fatal编程技术网

Javascript 获得';未找到模块';尽管文件存在

Javascript 获得';未找到模块';尽管文件存在,javascript,node.js,angular,typescript,webpack,Javascript,Node.js,Angular,Typescript,Webpack,我下载并运行了这个应用程序,它运行得很好。现在我在“src/app/services/people.service.ts”中添加了一个新文件“people.service.ts” 当我尝试导入它时,我得到一个错误: 未找到模块:错误:无法解析中的“服务/人员.服务” “/path to project/angular starter master/src/app” 这是我用来导入它的代码(在src/app/app.module.ts中): 我确信没有输入错误,因为IDE可以识别它。整个项目中没有

我下载并运行了这个应用程序,它运行得很好。现在我在“src/app/services/people.service.ts”中添加了一个新文件“people.service.ts”

当我尝试导入它时,我得到一个错误:

未找到模块:错误:无法解析中的“服务/人员.服务” “/path to project/angular starter master/src/app”

这是我用来导入它的代码(在src/app/app.module.ts中):

我确信没有输入错误,因为IDE可以识别它。整个项目中没有任何类型脚本错误。文件“services/people.service”确实包含一个名为PeopleService的类


任何帮助都将不胜感激。如果您需要任何其他信息,请告诉我。

问题是您使用的是绝对路径而不是相对路径。将导入更改为以下内容:

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';
除此之外,您还可以添加一个paths属性,它允许您匹配一个模式,然后将其映射出来。例如:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "services/*": [
                "services/validation/*"
            ]
        }
        // etc...
    },
    // etc...
}
这将允许您从任何地方导入它,如下所示:

import {PeopleService} from 'services/people.service';
从这里开始,您将需要配置您正在使用的任何模块加载器来支持这些导入名称。现在TypeScript编译器似乎没有自动映射出这些

您可以在github上阅读更多关于这方面的内容。还有一个rootDirs属性,在使用多个项目时非常有用

您可以直接将绝对路径更改为相对路径,如下所示:

import {PeopleService} from './services/people.service';

从“/services/people.service”尝试相对路径
@Maximus太棒了!它起作用了!谢谢你快速而出色的回答。请重写它作为一个答案,我会接受它。不客气,作为一个answer@MedetTleukabiluly:D
import {PeopleService} from './services/people.service';