2 回答
TA贡献1843条经验 获得超7个赞
我会将你所有的 API 调用移动到可以导入到你的 React、Vue 和 Angular 应用程序中的模块中。您可以使用NPM 上fetch的许多其他模块之一。HttpClient
从 Angular 的角度来看,这样做是有弊端的。Angular 希望您使用该HttpClient模块,因此如果您放弃该模块并使用共享模块,您将失去很多这些功能。因此,如果您需要HttpInterceptor设置,则必须创建自己的而不是使用 Angulars,因为您没有使用它们的HttpClient. 我对 React 或 Vue 的使用还不够多,不知道它们是否也有自己的HttpClient模块。
使用基本服务的示例fetch
class TodoService {
constructor() {}
static getTodo(id) {
return new Promise( (resolve, reject) => {
fetch(`https://jsonplaceholder.typicode.com/todos/${id}`).then(r => resolve( r.json() ) );
});
}
// ...
}
TodoService.getTodo(1).then(t => console.log(t) );
一旦你弄清楚你想要在你的模块中做什么,那么你就可以在任何你需要的地方export
提供服务。import
请记住,如果您将依赖项引入模块,则必须打包模块,以便您的依赖项随模块一起提供。
TA贡献1796条经验 获得超7个赞
在这种情况下,您的服务应该与框架/库无关。正如您所描述的那样,它就像是另一个被分成域的层。可能会创建一个存储库来存储此项目和。这些应用程序可以使用 NPM 安装它。
添加回答
举报