首页
学习
活动
专区
圈层
工具
发布

electron桌面应用开发(四)

本文目录:

前言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

一番今日

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

一番雾语:国庆节快乐。

下一篇
举报
领券