angular - 来自电子的角度应用程序内的服务ajax请求
问题描述
我正在尝试使用 Angular 编写的现有 Web 应用程序并将其包装在电子中。我已经让电子打开 Angular 应用程序,但我希望电子包装器能够为 ajax 请求提供服务,而不是应用程序进入 Web 服务。例如,角度应用程序尝试在“api/subscriptions”处获取,我希望它从电子端请求,然后从本地文件系统获取电子服务数据。有没有办法做到这一点,或者我是否需要制作一个仅在为电子环境构建时才包含的自定义角度服务?我想将 Angular 应用程序尽可能保持为非特定环境。
解决方案
使用WebRequest并拦截任何请求,然后返回您的自定义响应。
它还接受一个过滤器,因此您只能拦截说“/api/subscriptions”等。
const {session} = require('electron')
session.defaultSession.webRequest.onBeforeRequest((details, callback) => {
//Stopping original request
//Fetch from some file etc.
const response = fs.readFile .... //Or wherever
//Make sure to call the callback with response
callback({response})
})
推荐阅读
- csv - Spark Write csv - 时间戳格式问题
- css - 如何更改 ionic 3 选项卡的最大宽度?
- java - Hibernate 异常:@OneToMany 或 @ManyToMany 针对未映射的类 [java.util.List]
- c++ - 为什么按值传递 QStringView 比引用 const 更快?
- amazon-ec2 - 分配给节点辅助接口的 kubernetes 服务外部 IP
- python - Pyinstaller Qt5 应用程序无法在 Windows 10 中启动
- kubernetes - 有没有办法将 openebs 副本限制到 k8s 集群中的特定节点?
- c# - 无法在 http://localhost 上启动驱动程序服务
- multithreading - boost::python 线程通过 python 暂停和恢复 c++ 函数
- python - 有什么方法可以将 seaborn 中的颜色条(cbar)更改为图例(对于二进制热图)?