07-API服务器和数据库
4.1.5 API服务器和数据库
为了避免运行像MongoDB或PostgreSQL这样的数据库,我们将通过 JSON-server 库来使用模拟的REST API。我已经对默认服务器做了一些修改(可以在代码库的db文件夹中看到这些修改),这有助于使项目更容易一些。我们将得到一个读取和修改JSON文件的轻量级数据库,而无须处理数据库。可以运行下面这个命令来创建示例数据或者重置应用程序数据:
npm run db:seed
这将覆盖现有的JSON数据库并用新的样例数据替换它(用户、帖子和评论都是以《星球大战》为主题的——愿原力与你同在)。后续几章中,登录后可以在数据库中创建一个用户。如果重新运行数据库 seed 命令,该用户会被覆盖,必须登出并重新登录才能得以恢复。这是不应该发生的,而且可能不需要多次运行数据库命令,但以防万一应该意识到重置数据意味着什么。
我已经提供了一些辅助函数以便更容易地请求API。在src/shared/http.js中可以看到这些函数。我正在使用 isomorphic-fetch 库,因为它完全仿照了浏览器中可用的标准Fetch API,而且可以在服务器端运行。我假设读者有一些使用浏览器中HTTP库的经验,但如果没有的话,可以将包含辅助函数的文件作为开始学习Fetch API的方式。