首页 > 编程语言 >electron中调用node.js API

electron中调用node.js API

时间:2023-06-25 16:57:51浏览次数:40  
标签:node fs const require js BrowserWindow electron API

主进程在node.js环境中运行,等同于它拥有调用require模块和使用所有node.jsAPI的能力。但是在渲染器进程中,渲染器是无法直接访问require和其他node.jsAPI的,想要访问有以下两种方法:

Preload脚本

预加载脚本运行在渲染器环境中,可以在BrowserWindow构造方法中的webPreferences选项里被附加到主进程main.js:

const { BrowserWindow } = require('electron')
// ...
const win = new BrowserWindow({
  webPreferences: {
    preload: 'path/to/preload.js' // 在此引入对应的预加载脚本
  }
})
// ...
preload.js
const fs = require('fs');
fs.readFile('文件名', (err, data) => {
  xxxxxxxxxxxxx
})

2.想要在渲染进程中引入的js文件中调用node.js模块,可以在BrowserWindow中进行以下配置

const secondWindow=new BrowserWindow({
        width:400,
        height:200,
        parent:mainWindow,
        webPreferences:{
            nodeIntegration:true,   //允许渲染进程使用node.js
            contextIsolation:false  //允许渲染进程使用node.js
        }
    })

 例如引入tool.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())
})

 

标签:node,fs,const,require,js,BrowserWindow,electron,API
From: https://www.cnblogs.com/wanghuanl/p/17503307.html

相关文章

  • 【淘宝商品详情数据】api接口获得宝贝详情数据、优惠价格数据Java调用示例
    淘宝详情API接口的作用是获取淘宝平台上某个商品的详细信息,包括商品标题、价格、图片、规格、参数、店铺信息等。开发者可以通过该接口获取到商品的原始数据,方便进行数据分析、价格比较、爬取等操作。通过该接口获取到的商品详情数据可以结合其他数据进行深度挖掘,例如可以将商品数......
  • BAPI函数
    以下是一些常见的MM模块中涉及的BAPI函数示例:BAPI_MATERIAL_GETLIST:获取物料清单。BAPI_MATERIAL_GETDETAIL:获取物料的详细信息。BAPI_MATERIAL_SAVEDATA:保存物料数据。BAPI_GOODSMVT_CREATE:创建物料库存移动。BAPI_GOODSMVT_GETDETAIL:获取物料库存移动的详细信息。BAPI_GO......
  • electron 开启 webview
    main.js中添加webview配置信息constmainWindow=newBrowserWindow({width:800,height:600,webPreferences:{preload:path.join(__dirname,'preload.js'),webviewTag:true,//开启webview}})index.html<style>......
  • 11gR2 OneNode Convert RAC
                  11gR2OneNodeConvertRAC 一、查看状态[oracle@ora11grac1~]$srvctlconfigdatabase-dwooDatabaseuniquename:wooDatabasename:wooOraclehome:/DBSoft/oracle/product/11.2.0/dbhome_1Oracleuser:oracleSpfile:+D......
  • 用node-webkit把web应用打包成桌面应用
    1.下载node-webkit:https://github.com/nwjs/nw.js=>下载完成后是个压缩包。解压即可。=>看到nw.exe文件,双击运行一下,看是否正常=>exe文件的图标可以用ResourceHacker,nw-builder和node-winresourcer之类的工具替换。 2.项目新建package.json:{  "name":"zqz",//这里......
  • 2 - Web APIs
    day02-WebAPIs1.1.排他操作1.1.1排他思想如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法:所有元素全部清除样式(干掉其他人)给当前元素设置样式(留下我自己)注意顺序不能颠倒,首先干掉其他人,再设置自己  <button>按钮1</button>......
  • 5 - Web APIs
    1.1.元素偏移量offset系列1.1.1offset概述offset翻译过来就是偏移量,我们使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等。获得元素距离带有定位父元素的位置获得元素自身的大小(宽度高度)注意:返回的数值都不带单位1.1.2offset与style区......
  • 6 - Web APIs
    1.1.动画函数封装1.1.1缓动效果原理缓动动画就是让元素运动速度有所变化,最常见的是让速度慢慢停下来思路:让盒子每次移动的距离慢慢变小,速度就会慢慢落下来。核心算法:(目标值-现在的位置)  /  10   做为每次移动的距离步长停止的条件是:让当前盒子位置......
  • 7 - Web APIs
    1.1.触屏事件1.1.1触屏事件概述移动端浏览器兼容性较好,我们不需要考虑以前JS的兼容性问题,可以放心的使用原生JS书写效果,但是移动端也有自己独特的地方。比如触屏事件touch(也称触摸事件),Android和IOS都有。touch对象代表一个触摸点。触摸点可能是一根手指,也可能是一根......
  • 3 - Web APIs
    1.1.节点操作1.1.1删除节点node.removeChild()方法从node节点中删除一个子节点,返回删除的节点。  <button>删除</button>  <ul>    <li>熊大</li>    <li>熊二</li>    <li>光头强</li>  </ul>  <script>    //......