Ember 使用本地 JSON 文件而不是教程中提供的 Mirage
Posted
技术标签:
【中文标题】Ember 使用本地 JSON 文件而不是教程中提供的 Mirage【英文标题】:Ember use local JSON file instead of Mirage provided in tutorial 【发布时间】:2018-05-26 09:06:03 【问题描述】:我是构建网站的新手,在这个阶段我想做的就是使用本地 JSON 文件来检索数据,而不是 ember 教程中提供的 mirage。你有这样的 mirage/config.js:
export default function()
this.namespace = '/api';
let rentals = [
//JSON
];
this.get('/rentals', function(db, request)
if(request.queryParams.area !== undefined)
let filteredRentals = rentals.filter(function(i)
return i.attributes.area.toLowerCase().indexOf(request.queryParams.area.toLowerCase()) !== -1;
);
return data: filteredRentals ;
else
return data: rentals ;
);
// Find and return the provided rental from our rental list above
this.get('/rentals/:id', function (db, request)
return data: rentals.find((rental) => request.params.id === rental.id) ;
);
This article 显示了部分解决方案,但我不知道它应该写在哪里。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:有几个不同的选项可以在不使用 mirage 的情况下对某些数据进行存根。最清晰和最简单的方法是 fetch。
将你的 json 文件放在 public 文件夹中,我们称之为something.json
。然后,使用 fetch 获取数据(这是路由的模型钩子):
model()
return fetch('something.json')
.then(function(res)
return res.json()
)
此答案至少从 1.13 开始(可能更早)适用。它是从 3.1 开始编写的。
【讨论】:
以上是关于Ember 使用本地 JSON 文件而不是教程中提供的 Mirage的主要内容,如果未能解决你的问题,请参考以下文章
ember简单auth用rails设计用户名而不是电子邮件?