前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >electron桌面应用开发(四)

electron桌面应用开发(四)

作者头像
efonfighting
发布2019-10-08 17:55:38
1.5K0
发布2019-10-08 17:55:38
举报
文章被收录于专栏:一番码客一番码客

本文目录:

前言js系统命令调用函数spawn调用`spawn`可能遇到的问题require函数参考一番今日

前言

上一篇electron的文章我们尝试了用在js里调用python,虽然一番之前没有接触过js,但一番秉着目标型驱动的学习理念,今天一番来深入研究下这个spawn函数。

js系统命令调用函数spawn

Node.js 的子进程(child_process)模块下有一 spawn 函数,可以用于调用系统上的命令。

也就是说无论我们用的是linux、mac还是windows,都可以用spawn函数来调用相应系统的命令。

感觉有点类似pythonsystem函数。

我们在index.js的最后添加如下代码,运行后我们查看命令行打印,发现gzh.py打印成功。

代码语言:javascript
复制
let pyProc = null
const createPyProc = () => {
  console.log('creating python server...')
  pyProc = require('child_process').spawn('python py/gzh.py', {
    stdio: 'inherit',
    shell: process.platform === 'win32'
  })
  if (pyProc != null) {
    console.log('child process success')
  }
}

const exitPyProc = () => {
  pyProc.kill()
  pyProc = null
}

app.on('ready', createPyProc)
app.on('will-quit', exitPyProc)

调用`spawn`可能遇到的问题

  • 问题:Error:spawn python xxx ENOENT 解决:改为隐式调用,shell: process.platform === 'win32'

require函数

在CommonJS中,全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载,然后就可以调用这个模块的方法了。

代码语言:javascript
复制
var math = require('math');

参考

  • Node.js 编写跨平台 spawn 语句
  • 彻底搞清楚javascript中的require、import和export

一番今日

山里的空气还是好,没有城市的喧嚣。哪怕是坐着都是放松。

一番雾语:国庆节快乐。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一番码客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • js系统命令调用函数spawn
    • 调用`spawn`可能遇到的问题
    • require函数
    • 参考
    • 一番今日
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档