vue调用android串口通信,vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤...
项目创建参考:https://zhuanlan.zhihu.com/p/75764907
电脑本地环境准备
注意版本号,electron和node建议使用跟我一样的版本
node版本:12.16.1
npm版本:6.13.4
全局安装 npm install -g node-gyp,这是用来编译serialport的,因为npm下载serialport是源代码,源代码是C语言,需要将C语言翻译
4. 安装visual studio 2017,翻译C语言需要C环境,附上下载地址Visual Studio 2017 Community ,安装VS的时候选项如下,要勾选使用c++桌面开发
安装完成之后在cmd黑框执行一下命令
npm config set msvs_version 2017
安装python2.7,注意必须是2.7,附上python下载地址-Python2.7x,安装后执行cmd黑框执行
npm config set python python2.7
项目使用
安装serialport,注意版本号否则编译时会出现错误
npm install serialport@8.0.6
安装electron-rebuild
npm install --save-dev electron-rebuild
编译serialport,第一种方式
进入目录:cd ./node_modules/@serialport/bindings
编译:node-gyp rebuild --target=6.0.10 --arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell
–target:electron的版本号
–arch=x64,64位;–arch=ia32,32位
编译成功
编译serialport,第二种方式
项目根目录直接输入命令
.\node_modules\.bin\electron-rebuild.cmd
编译的时候会出现很多坑
electron版本会对应一个NODE_MODULE_VERSION值,node版本也会对应一个NODE_MODULE_VERSION值,它们必须相等否则编译会报错。
在node官网的历史版本查看NODE_MODULE_VERSION值,地址node官网。
页面使用serialport
页面引入注意一定要使用window.require,不能直接使用require
电脑可以下载一个【虚拟串口工具】,用于测试
const serialport = window.require(‘serialport’)
//点击事件
dayin(){
serialport.list().then(
ports => {
//ports 串口
console.log(ports)
}
)
},
electron-build打包无法将serialport打包到依赖
vue.config.js配置文件,asar:false。
asar打包,如果为true会将依赖就加密成.asar文件,导致serialport串口通信C环境无法被打包,而无法使用
module.exports = {
pluginOptions: {
electronBuilder: {
builderOptions: {
"appId": "com.example.app",
"productName":"收银系统name",//项目名,也是生成的安装文件名,即aDemo.exe
"copyright":"Copyright © 2020",//版权信息
"directories":{
"output":"./dist"//输出文件路径
},
"asar": false, // asar打包,如果为true会将依赖就加密成.asar文件,导致serialport串口通信C环境无法被打包,而无法使用
"win":{//win相关配置
"icon":"./src/assets/favicon.ico",//图标,当前图标在根目录下,注意这里有两个坑
"target": [
{
"target": "nsis",//利用nsis制作安装程序
"arch": [
"x64"//64位
// "ia32"//32位
]
}
]
},
"nsis": {
"oneClick": false, // 是否一键安装
"allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, // 允许修改安装目录
"installerIcon": "./src/assets/favicon.ico",// 安装图标
"uninstallerIcon": "./src/assets/favicon.ico",//卸载图标
"installerHeaderIcon": "./src/assets/favicon.ico", // 安装时头部图标
"createDesktopShortcut": true, // 创建桌面图标
"createStartMenuShortcut": false,// 创建开始菜单图标
"shortcutName": "收银系统", // 图标名称
},
},
externals: ['serialport']
}
},
css: {
loaderOptions: {
sass: {
data: `
@import "@/assets/scss/main.scss";
`
}
}
},
}
serialport的具体使用再去查资料吧,可以结合官网学习https://serialport.io/docs/api-bindings
vue调用android串口通信,vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤...相关推荐
- 初级项目vue实战项目 收银系统
Vue实战视频-快餐店收银系统 (共11集) 2017-05-22 分类:Vue.js视频教程 / 视频教程 阅读(126832) 评论(136) 课程前言 这是我网站恢复后写的第一篇文章,在关站这 ...
- vue springboot 会员收银系统 (1)
会员系统 预览 http://120.26.95.195/ admin 111111 前言 之前发布的会员系统有很多小伙伴留言开源 vue springboot 会员收银系统 但是由于工作原因 不方便 ...
- vue springboot 会员收银系统
预览地址 http://120.26.95.195/ demo demo123 收银系统 多门店管理 会员管理系统 门店营销系统 .支持单门店 和多门店. 主要功能有 1会员管理2 商品管理 3 ...
- Vue-快餐店收银系统-leftNav.vuePos.vue
一好友推荐学习vue的一个博客 网址共享:http://jspang.com/ 这是比较基础的课程 技术胖用的是live-server来搭建服务器环境的,推荐以下链接:https://www.cnbl ...
- 安卓Android收银系统手机app源码在线演示实景分享
1,综述:安卓Android收银系统手机app源码版,部分在线实景页面介绍. 1.1,基于安卓8.0原生开发 1.2,完整源码,可独立部署 1.3,商家,店长,收银员,分权限使用 1.4,与桌面收银, ...
- 操作系统android的收银系统,基于Android的小微商户移动收银系统设计与实现
摘要: 移动支付已经成为当前的主流支付方式.为了支持移动支付,传统大中型零售商户纷纷升级收银系统.然而,绝大多数小微商户无力担负这笔成本以购买或者升级收银系统.没有收银设备的商户通常凭传统手记单和记忆 ...
- Vue学习之路(8)------快餐店收银系统
转载:http://jspang.com 第1节:Mockplus把我们的想法画出来 第2节:Vue-cli搭建开发环境 第3节:搞定项目图标Iconfont 第4节:编写独立的侧边栏导航组件 第5节 ...
- 超市结算系统|Springboot+Vue通用超市结算收银系统
作者主页:编程千纸鹤 作者简介:Java.前端.Pythone开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路 关注作者有好 ...
- python 收银系统_实现全栈收银系统(Node+Vue)(一)
前端渐渐趋向后端化,工程化,自动化开发,掌握一门后端语言成了我们必备的不可少阶段,Node的出现让我们能够搭建了简单运算的后台,实现全栈的开发,现在通过几个阶段来开发一套基于VUE开发的Node后台系 ...
最新文章
- vfp中,函数subs(计算机管理信息系统,7)返回的结果是,VFP选择题库(可发学生).xls...
- Seaborn使用lmplot函数可视化散点图并添加回归曲线、移除默认的回归曲线置信区间(Scatter plot with regression line、Remove CI band)
- ajax 12301 原因小结
- 为什么说拥抱.NET CORE的时候到了
- 关于.NET下开源及商业图像处理(PSD)组件
- 中移M5311-NBIOT-低功耗OPENCPU开发-MQTT
- 创作优质的视频号作品四个方向
- 编程之美--高效率算出1的数目之扩展问题
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾
- atitit.事件驱动的总结attilax
- 华为云迁移工具推荐最佳实践:物理服务器迁移到华为云
- 《点满舔狗相关技能以后,不知为何就转码了》之YOLOP,YOLOPV2推理入门教学
- 《D o C P》学习笔记(3 - 0)Regular Expressions, other languages and interpreters - 简介
- Java设计模式之——策略模式(Strategy)
- kubernetes 核心组件之 Controller Manager
- Python学习周期一般多长?需要多久?
- 【小学信息技术教资面试】《蜻蜓立小荷》教案
- 郭敬明唯美悲伤的短句分享
- 利用决策树学习基金持仓并识别公司风格类型
- 国内云服务器商怎么选?阿里云、腾讯云、华为云、天翼云怎么选?
热门文章
- 【AI创新者】小蚁首架张骏峰:让图像AI人尽可用
- 数学图形之海螺与贝壳
- ROS 之 arduino 驱动 超声波测距模块
- 调节e18-d80nk的测量距离_在线尺寸影像测量仪
- 一文看懂TVS二极管SM8S30A
- 侃侃企业网管那些烦心事
- 我居然在中秋节收到了七龙珠?! 能召唤神龙吗?
- Qt NMAKE : fatal error U1073: don‘t know how to make ‘xxxx‘的一种原因
- 用IntelliJ IDEA的GUI Designer写Swing程式
- Linux下安装阿里巴巴普惠字体