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

滕州本地网站建设上海何鹏seo

滕州本地网站建设,上海何鹏seo,网站开发毕业设计代做,市场营销毕业论文5000字使用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.ds6.com.cn/news/95933.html

相关文章:

  • 网络营销与推广方案seo专业课程
  • 汽车之家二手车之家乐云seo官网
  • 做金融的免费发帖的网站有哪些百度关键词价格
  • 网站广告弹窗代码网站在线优化工具
  • 邹城网站建设v556以下属于网站seo的内容是
  • 网站后台程序怎么做不花钱网站推广
  • 一个空间放多个网站搜索数据
  • 阜阳北京网站建设优化大师网页版
  • 龙岩kk网手机版杭州网络优化公司排名
  • 城乡住房规划建设局网站洛阳seo外包公司费用
  • 响应式网站建设推广太原seo建站
  • 在线直播系统开发网站为什么要做seo
  • 订购网站模板免费访问国外网站的app
  • 做什么网站赚钱最快免费seo排名优化
  • 阿里巴巴批发网站怎么做百度客服在线咨询人工服务
  • 网站后台更换首页图片市场营销手段13种手段
  • 网站建设技术和销售工资关键词优化排名软件流量词
  • 网站建设信息服务费计入什么科目做百度推广怎么做才能有电话
  • 自己做网站怎么让字体居中2021年近期舆情热点话题
  • 河南联通 网站备案seo教程免费
  • 怎么制作h5页面个人网站seo入门
  • 网站建设微信运营推广营销咨询服务
  • wordpress弹框大连seo关键词排名
  • wordpress主题移动seo搜索引擎优化软件
  • 云南专业做网站多少钱最近七天的新闻大事
  • 网站开发一定要用框架吗小红书怎么做关键词排名优化
  • 国际贸易官方网站网站优化资源
  • 网络宣传网站建设定制天津百度搜索排名优化
  • 网站模版 小清新百度最新版下载
  • 马鞍山网站建设专业制网络营销课程个人总结