【electron+vue】手把手教如何调用外部exe

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

【electron+vue】手把手教如何调用外部exe


一、安装

安装nodejs中的child_process nodejs v16

npm install child_process
返回报错:PS F:\vue\my-project0830-electron> npm install child_process
npm WARN deprecated asar@3.2.0: Please use @electron/asar moving forward.  There is no API change, just a package name change
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated electron-osx-sign@0.5.0: Please use @electron/osx-sign moving forward. Be aware the API is slightly different
npm ERR! code 1
npm ERR!     at ClientRequest.<anonymous> (F:\vue\my-project0830-electron\node_modules\got\source\request-as-event-emitter.js:178:14)

这里显示warn and ERR,怀疑是因为我之前添加了 electron-builder 导致安装失败
electron-builder 安装参考

重新安装,cnpm 这里借用了淘宝镜像

PS :> cnpm install child_process
√ Linked 1 latest versions fallback to F:\vue\my-project0830-electron\node_modules\.store\node_modules
√ Installed 1 packages on F:\vue\my-project0830-electron
√ All packages installed (1 packages installed from npm registry, used 6s(network 6s), speed 175.98B/s, json 1(403B), tarball 580B, manifests cache hit 0, etag hit 0 / miss 0)

dependencies:
+ child_process ^1.0.2

二、执行

参考博客electron项目中调用第三方exe应用
建议需要执行的exe不要放在带有空格的路径中

1.指定路径

我在vue electron项目中的xxx.vue中调用,功能实现,点击按键运行exe

<template>
    <el-button class="Button" @click="Button" 
           type="primary" size="medium" 
           style="">
           开始检查
       </el-button>
</template>

<script>
	export default{
		data(){},
  	 	methods:
  	 	{
  	 		 Button() 
  	 		 {
  	 			require('child_process').exec('start F:\\vue\\print_txt.exe')
        	}, 
    	}
}
</script>

2.相对路径

参考博客【electron-vue+python】electron启动调用python打包的exe

methods:{
    checkButton() {
   		const { spawn } = require('child_process')
 		const child = spawn('print_txt.exe') 
		child.on('error',(err) => {
    	console.log('err => ',err)
            })
      },
}

我把代码放在了methods()里
现象:点击按钮运行exe程序,同时在工程路径下生成了txt。

三、问题

调用exe的时候会刷新界面,本来是想执行exe后,自动调取产生的txt文件,并将txt文件内容显示在界面上的。
后续:刷新界面的原因是因为,本人在VS code环建下编写,执行exe后在工程目录下生成文件,工程目录下生成文件会导致VS code 重新编译,导致界面刷新,之后把界面生成exe后,再继续跟进

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值