Javascript 为什么我的angular 2服务在我的应用程序中不可见?
我试图通过angular服务读取JSON文件。 当我不使用该服务时,我可以轻松地读取JSON数据并将其绑定到变量中。 但当我使用服务执行此操作时,它不起作用。 其显示以下错误:Javascript 为什么我的angular 2服务在我的应用程序中不可见?,javascript,angularjs,json,angular,Javascript,Angularjs,Json,Angular,我试图通过angular服务读取JSON文件。 当我不使用该服务时,我可以轻松地读取JSON数据并将其绑定到变量中。 但当我使用服务执行此操作时,它不起作用。 其显示以下错误: Failed to load resource: the server responded with a status of 404. 我确信我写的路径是正确的 目录结构 代码如下: app.component.ts 从'angular2/core'导入{Component}; 从'angular2/Http'导入
Failed to load resource: the server responded with a status of 404.
我确信我写的路径是正确的
目录结构
代码如下:
从'angular2/core'导入{Component};
从'angular2/Http'导入{Http,Response};
从'rxjs/Rx'导入{Observable};
从“../services/data.service”导入{DataService};
@组成部分({
选择器:“我的应用程序”,
提供者:[数据服务],
templateUrl:'app/app.component.html'
})
导出类AppComponent{
公开记录;
构造函数(私有数据服务:数据服务){}
恩戈尼尼特(){
this.dataService.getDetails()
.订阅((客户:任何[])=>{
该记录=客户;
});
}
}
服务文件夹应位于应用程序文件夹下。根据SystemJS配置,使用此配置仅加载此文件夹下的资源:
System.config({
(...),
packages: {
app: { format: 'register', defaultExtension: 'js' },
(...)
}
});
format: 'register', defaultExtension: 'js'
这意味着SystemJS将自动尝试使用js
扩展加载模块
因此,结构应如下所示:
project
- app
- app.component.ts
- main.ts
- services
- data.service.ts
在app.component.ts
文件中,您可以使用以下方法导入服务:
import {DataService} from './services/data.service';
根据其配置,SystemJS将尝试加载localhost:3000/app/services/data.service.js
,如果TypeScript编译器以前执行过它的工作,则该文件应该存在;-)
Thierry该
服务
文件夹应位于应用程序
文件夹下。根据SystemJS配置,使用此配置仅加载此文件夹下的资源:
System.config({
(...),
packages: {
app: { format: 'register', defaultExtension: 'js' },
(...)
}
});
format: 'register', defaultExtension: 'js'
这意味着SystemJS将自动尝试使用js
扩展加载模块
因此,结构应如下所示:
project
- app
- app.component.ts
- main.ts
- services
- data.service.ts
在app.component.ts
文件中,您可以使用以下方法导入服务:
import {DataService} from './services/data.service';
根据其配置,SystemJS将尝试加载localhost:3000/app/services/data.service.js
,如果TypeScript编译器以前执行过它的工作,则该文件应该存在;-)
蒂埃里我不确定我是否理解你的问题。您认为Angular没有找到服务(如问题标题所示)还是服务无法获取json文件?请求的URL是什么以及它实际应该是什么?angular 2无法找到服务。虽然我已经正确地编写了路径。因为我在其他项目中以相同的方式使用了服务,所以它们在@GünterZöchbauery正常工作。您的路径似乎是有效的。你能分享更多的信息,比如SystemJS或Webpack配置,或者你的存储库或plunker?你能提供完整的错误信息吗?我的意思是哪个资源加载失败。。。谢谢我想问题可能来自您的相对路径(
“../uicomponent.json”
)…我不确定我是否理解您的问题。您认为Angular没有找到服务(如问题标题所示)还是服务无法获取json文件?请求的URL是什么以及它实际应该是什么?angular 2无法找到服务。虽然我已经正确地编写了路径。因为我在其他项目中以相同的方式使用了服务,所以它们在@GünterZöchbauery正常工作。您的路径似乎是有效的。你能分享更多的信息,比如SystemJS或Webpack配置,或者你的存储库或plunker?你能提供完整的错误信息吗?我的意思是哪个资源加载失败。。。谢谢我想问题可能来自您的相对路径(“../uicomponent.json”
)。。。