Json 无法访问本地文件
我尝试这样测试我的Angular2服务: “C:/MyAngularApp/src/app/common”中的spec.ts文件Json 无法访问本地文件,json,angular,angular2-http,Json,Angular,Angular2 Http,我尝试这样测试我的Angular2服务: “C:/MyAngularApp/src/app/common”中的spec.ts文件 let testFile = "./test.json"; // full path: C:\MyAngularApp\src\app\common\test.json http.get(testFile).map(d => d.json()).subscribe(()=>log("it works")) 但我不能让它工作-我得到: 失败:未找到URL
let testFile = "./test.json"; // full path: C:\MyAngularApp\src\app\common\test.json
http.get(testFile).map(d => d.json()).subscribe(()=>log("it works"))
但我不能让它工作-我得到:
失败:未找到URL的状态为404的响应:
我已尝试将此文件放在其他位置:
- “C:\MyAngularApp”
- “C:\MyAngularApp\src”
- “C:\MyAngularApp\src\app”
- “C:\MyAngularApp\src\assets”
但是为什么呢?为什么此目录(“资产”)如此特殊?为什么要尝试通过HTTP访问项目中的文件?为什么不直接导入它呢?我想测试MyHttpService,所以我需要“下载”文件。如果您想测试您的服务,请使用文档中显示的
MockBackend
,然后,您甚至不需要通过internet连接进行测试。MyHttpService包含一些额外的逻辑,我想在真实的json数据上进行测试。模拟后端完全能够使用json负载进行响应—它可以测试发出的请求和响应的处理。请问,为什么您要通过HTTP访问项目中的文件?为什么不直接导入它呢?我想测试MyHttpService,所以我需要“下载”文件。如果您想测试您的服务,请使用文档中显示的MockBackend
,然后,您甚至不需要通过internet连接进行测试。MyHttpService包含一些额外的逻辑,我想在真实的json数据上进行测试。模拟后端完全能够使用json负载进行响应—它可以测试发出的请求和响应的处理。请。默认情况下,相对路径与根不相关。如果希望“pathToSrc/assets/test.json”工作(相对于根),可以在HTML页面中添加一个标记,默认情况下,相对路径不相对于根。如果您想让“pathToSrc/assets/test.json”工作(相对于根目录),您可以在