无法读取位于与Angular 2/4

时间:2017-10-06 18:42:12

标签: json angular

尝试使用以下脚本在Angular 4项目中使用http.get读取json文件。

http.get('../jsonmock/data.json')
.subscribe(res  =>  this.data = res.json() );

如果我尝试从assets文件夹中读取json文件,它会成功运行但是从任何其他文件夹我在控制台上出现以下错误

http.get( '../ jsonmock / data.json') .subscribe(res => this.data = res.json());

响应{_body:“↵↵↵↵↵↵”,状态:404,ok:false,statusText:“未找到”,标题:标题,...} 头 : 标题{_headers:Map(8),_normalizedNames:Map(8)} 好 : 假 状态 : 404 状态文本 : “未找到” 类型 : 2 网址 : “http://localhost:4200/jsonmock/data.json” _身体 : “↵↵↵↵Error↵↵↵

Cannot GET /jsonmock/data.json
↵↵↵” 的 : 身体 构造函数 : ƒ回应(responseOptions) 参数 : (......) 呼叫者 : (......) 长度 : 1 名称 : “响应” 原型 : Body {constructor:ƒ,toString:ƒ} 的 : ƒ身体() [[FunctionLocation]] : http.es5.js:900 [[作用域]] : 范围[3] 的toString : ƒ()

1 个答案:

答案 0 :(得分:0)

如果您使用的是Angular CLI ...它只会在.angular-cli.json文件中查找您告诉它的文件夹中的资源。

在" apps"节点有一个名为" assets":

的节点
  "assets": [
    "assets",
    "api",
    "favicon.ico"
  ],

默认情况下,只有资源和favicon在这里。如果您希望它在.json文件的其他位置查找,则需要在此处指定这些位置,就像我对api文件夹所做的那样。