为了账号安全,请及时绑定邮箱和手机立即绑定

在electron中使用node-serialport的正确姿势

标签:
设计模式

开发环境准备

node-serialport是一个让node可以访问电脑串口设备的原生模块,在electron环境下使用并不是简单的npm install serialport就能解决的事情。对于刚开始接触node的人来说,不折腾一番基本上是不可能的。如果不明就里的一次性安装成功,那下一次安装多半也需要折腾的。

折腾过程中,免不了在Google,百度,GitHub上掘地三尺找解决方案。

本文尽可能的详细介绍如何在electron中编译并使用seialport。这里使用的系统环境是win10,需要准备一下几个材料:

  • node-gyp

  • python2.7 只能python2,不兼容python3

  • Visual Studio Build Tools 或者 VS

如果你的机器上没有安装过VS的话,并且后面不会使用VS的话,建议安装Visual Studio Build Tools即可。


webp

f45cbcd1-7560-4c61-a768-700394d95e8d

开始编译

使用 Node 原生模块一文里介绍好几种使用原生模块的方法。这里介绍前面两种。

通过npm安装

通过设置一些环境变量来实现npm的安装。为了方便,可以选择写个.bat文件来导入这些参数。

@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"set PYTHON=D:\Python27set npm_config_target=3.0.2set npm_config_arch=x64set npm_config_target_arch=x64set npm_config_disturl=https://atom.io/download/electronset npm_config_runtime=electronset npm_config_build_from_source=true

这里需要注意前两行的路径。

第一行是Visual Studio Build Tools安装后得到的一些批处理,主要是导入一些变量到cmd。
第二行是python的路径,如果电脑有多个python的话,建议通过set的方式导入到本次命令行。
剩下的都是electron相关的参数。target版本号可以在首页里面找。

到这里,可以尝试执行npm install serialport来安装serialport了。如果安装过程不会报错,则基本上OK了。

如果报错了,看一下报错信息。

如果是有404或者GET请求失败,则是网络问题。

另外,如果先前npm报错过,建议删除node_modules文件夹重新npm install

使用electron-rebuild

使用rebuild(npm install electron-rebuild --save-dev)来构建serialport不需要设置太多变量,但是下面两行少不了的。

call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"set PYTHON=D:\Python27

接着执行npm install安装各种依赖。安装完后,执行.\node_modules\.bin\electron-rebuild.cmd重新编译一下,serialport才能在electron里面使用。

编译过程中可以会出错,比如使用了python3或者msbuild版本错误等一堆乱七八糟的错误。具体看错误日志定位问题才能解决。



作者:谢mingmin
链接:https://www.jianshu.com/p/eac626c6b54f


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消