electron的进程中使用node.js模块

1. 主进程中无需任何配置就可以使用nodejs模块

const fs=require('fs')
fs.readFile('package.json',(err,data)=>{
        if(err){
            console.log(err)
            return
        }
        console.log(data.toString())
        console.log(JSON.parse(data.toString()).name)
    })

2. 渲染进程中使用node.js的两种方式

  • BrowserWindow中通过preload加载的js文件可以直接使用nodejs模块
const mainWindow=new BrowserWindow({
        width:600,
        height:400,
        webPreferences:{
            preload:path.join(__dirname,'renderer/preload.js')
        }
    })

preload.js

// 渲染进程中使用node.js模块的第一种方式:BrowserWindow中配置webPreferences:{preload},不需要做配置
const fs=require('fs')
fs.readFile('package.json',(err,data)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(data.toString())
    console.log(JSON.parse(data.toString()).name)
})
  • 渲染进程中直接使用Nodejs模块:如在index.html通过script:src加载的render.js,想要在渲染进程中使用node.js,需要进行如下配置
const secondWindow=new BrowserWindow({
        width:400,
        height:200,
        parent:mainWindow,
        webPreferences:{
            nodeIntegration:true,   //允许渲染进程使用node.js
            contextIsolation:false  //允许渲染进程使用node.js
        }
    })

render.js

// 渲染进程中使用node.js模块的第二种方式:html中通过script:src加载js
// 配置:
/*
    webPreferences:{
        nodeIntegration:true,   //允许渲染进程使用node.js
        contextIsolation:false  //允许渲染进程使用node.js
    }

*/
const fs=require('fs')
fs.readFile('package.json',(err,data)=>{
    if(err){
        console.log(err)
        return
    }
    console.log('render.js')
    console.log(data.toString())
})
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aliven1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值