当前位置: 首页 > news >正文

郑州建设厅网站天津百度优化

郑州建设厅网站,天津百度优化,在网站上做招聘版面,上海松江建设发展有限公司网站使用electron-vue获取文件夹的路径 记录一次开发过程中遇到的bug,我们的项目中需要将vue项目打包为桌面应用软件,为此我们引入了electron框架,在这个过程中,我们需要获取到用户电脑上面文件夹的绝对路径,用这篇文章记…

使用electron-vue获取文件夹的路径

  • 记录一次开发过程中遇到的bug,我们的项目中需要将vue项目打包为桌面应用软件,为此我们引入了electron框架,在这个过程中,我们需要获取到用户电脑上面文件夹的绝对路径,用这篇文章记录一下

修改方式

  • 修改vue.config.js
    • 在 vue.config.js 中开启了 Electron 集成,这允许你在 Electron 进程中使用 Node.js 功能。
pluginOptions: {electronBuilder: {nodeIntegration: true,contextIsolation: false,}}
  • 在background.js添加以下内容
    • 导入依赖
import {ipcMain,ipcRenderer,dialog} from "electron"

app.on('ready', async () => {if (isDevelopment && !process.env.IS_TEST) {// Install Vue Devtoolstry {await installExtension(VUEJS_DEVTOOLS)} catch (e) {console.error('Vue Devtools failed to install:', e.toString())}}createWindow()
// 新增:在主进程中处理打开文件对话框的请求ipcMain.handle("dialog:openFile",handleFileOpen)
})
// 新增:处理打开文件对话框的函数
async function handleFileOpen(){const options = {title: 'Select a Folder',properties: ['openDirectory']};const {canceled,filePaths}=await dialog.showOpenDialog(options)if (canceled){console.log(1)return}else {console.log(2,filePaths)return filePaths[0]}
}
  • 在vue页面中编写触发事件
    • 在 Vue 组件中,你使用 ipcRenderer 来触发打开文件对话框的操作:
<template><Button type="info" style="width: 100%" @click="handleSaveChart">保存</Button>
</template>
<script>import {ipcRenderer} from 'electron'export default {name: "DirPage",created() {// const ipc = require('electron').ipcRenderer;ipcRenderer.on('save-finished', function (event, filename) {// 当filename等于null的时候表示用户点击了取消按钮// 当用户点击保存按钮的时候filename的值是对应文件的绝对路径console.log(filename)})},methods: {//获取的文件名称handleSaveChart: function () {// 向IPC通道发送信号,此时主线程收到信号立即执行相对应的响应函数// const ipcRenderer = require('electron').ipcRenderer;const result = ipcRenderer.invoke('dialog:openFile');// if (!result.canceled && result.filePaths.length > 0) {result.then(res=>{console.log("file",res)})// 在这里可以使用 selectedFolder 的绝对路径进行后续操作// }}}
}
</script>
  • 总结
    • background.js 中的 ipcMain.handle:这个函数允许你在主进程中注册一个处理函数,当从渲染进程发送请求到主进程时,会调用这个处理函数并返回结果。在这里,我们注册了一个处理函数 handleFileOpen,用于打开文件对话框并返回选中的文件夹路径

    • Vue 组件中的 ipcRenderer.invoke:这个函数用于从渲染进程向主进程发送请求,并等待主进程的响应。在这里,你向主进程发送了打开文件对话框的请求,并使用 invoke 来等待主进程返回选中的文件夹路径。

    • 主线程就是:background.js文件

    • 渲染线程就是.vue文件

http://www.hrbkazy.com/news/25390.html

相关文章:

  • 管理公司网站建设广东深圳疫情最新消息
  • 昆明响应式网站制作2021百度最新收录方法
  • 网站上的高清图怎么做门户网站推广方案
  • 商城网站建设策划佛山seo教程
  • 做旅行网站的依据及意义网络营销活动案例
  • 做公司网站需要菏泽百度推广公司电话
  • 一流专业建设网站苏州网站开发公司
  • 动态网站与静态网站的区别知了seo
  • 外贸汽车网站制作网站建网站建设网站
  • blog跟wordpress郑州网站优化外包顾问
  • 做图标的网站适合小学生摘抄的新闻2022年
  • W做网站百度关键词收录
  • view主题WordPressseo搜索方法
  • 网站一般做多大像素客服系统网页源码2022免费
  • 网站制作公司哪家靠谱广告网站有哪些
  • 14亿人口新冠死多少流程优化的七个步骤
  • 免费外贸网站源码查询网站相关网址
  • 佛山企业如何建网站新十条优化措施
  • 做网站的流程视频教程小学生收集的新闻10条
  • 网站推广途径和要点有哪些关键词seo公司
  • 网站运营需要营销型网站建设步骤
  • 项目推广网站网上永久视频会员是真的吗
  • win8网站设计电脑培训零基础培训班
  • 用wordpress做淘宝seo手机优化软件哪个好用
  • yellow日本高清免费中文上海专业的seo公司
  • 个人备案网站涉及企业网络推广外包哪家好
  • java开发手机网站开发百度关键词搜索指数
  • bootstrap的网站模板免费关键词优化工具
  • 抖音信息流广告怎么投放杭州seo的优化
  • 学校网站的图片轮播怎么做百度seo排名360