javascript - 如何在 Angular 使用 Electron cookies

标签 javascript node.js angular cookies electron

我正在使用 Electron ,我想有条件地使用cookie。如果它是 Electron 应用程序,则使用Electron Cookies,否则请使用 Angular cookie。我在我的 Angular Electron 应用程序中声明cookie时遇到问题。

根据Electron's Cookie Document,我们需要使用require声明它,但我想在.ts文件中使用它

到目前为止,我已经尝试过
const { session } = require('electron');declare function require(name:string); const { session } = require('electron');import * from 'electron';import * as session from 'electron';
所有方法在编译或停止脚本以在运行时执行时都会产生错误。

任何人都可以帮助我,并指导我如何在我的项目中使用Electron-cookie。

最佳答案

您需要像这样的网络偏好设置

webPreferences: {
                nodeIntegration: true,
                webSecurity: true,
                allowEval: false,
                allowRunningInsecureContent: false,
                contextIsolation: true, // protect against prototype pollution
                enableRemoteModule: true, // turn off remote
                preload: path.join(__dirname, "preload.js") // use a preload script
            },
nodeIntegration和enableRemoteModulke非常重要。
并在您的preload.js中创建一个窗口函数
contextBridge.exposeInMainWorld(
    'session',
    {
        set: (cookie) => {
          remote.session.defaultSession.cookies.set(cookie).then(() => {
            console.log('Cookie Saved')
          }, (error) => {
            console.error(error)
          })
        },
        // Returns Promise<Cookie[]>
        get: () => {
           return remote.session.defaultSession.cookies.get({}).then((cookies) => {
                console.log(cookies);
                return cookies
              }).catch((error) => {
                console.log(error)
              })
        },
    }
  )
最后在你的angular2 +项目中执行这样的功能
window['session'].get({}) || window['session'].set(cookie);

关于javascript - 如何在 Angular 使用 Electron cookies ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59420147/

相关文章:

javascript - JS下拉菜单最佳实践

javascript - Node.js:在调用resolve()之前解决了Promise?

javascript - 如何在 Mongoose/Express 中搜索使用多选构建的数组

javascript - 识别表格上 HTML5 拖放操作中的单元格

Angular react 形式 : how to pre load form inputs with information

javascript - 取消表单提交后 window.location.href 仍然无法工作

javascript - PHP AJAX POST 多个同名

javascript - 显示其选项卡的图标

javascript - 无法获取标题 Angular 6

angular - ionic 2 : navigate using URLs