电子提供的来自角度应用程序的服务ajax请求

时间:2018-10-14 08:13:03

标签: angular electron

我正在尝试使用用angular编写的现有Web应用程序并将其包装在电子文件中。我已经获得了电子来打开有角度的应用程序,但是我希望电子包装器能够处理ajax请求,而不是将应用程序发布到Web服务。例如,角度应用程序尝试从“ api / subscriptions”处获取数据,我希望它从电子端请求,然后让电子服务数据从本地文件系统中获取。有没有办法做到这一点,还是我需要制作仅在针对电子环境构建时才包含的自定义角度服务?我想让Angular应用尽可能不受环境限制。

1 个答案:

答案 0 :(得分:1)

使用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})
})