项目创建参考: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实现串口通信,收银系统对接电子秤...相关推荐

  1. 初级项目vue实战项目 收银系统

    Vue实战视频-快餐店收银系统 (共11集) 2017-05-22 分类:Vue.js视频教程 / 视频教程 阅读(126832) 评论(136)  课程前言 这是我网站恢复后写的第一篇文章,在关站这 ...

  2. vue springboot 会员收银系统 (1)

    会员系统 预览 http://120.26.95.195/ admin 111111 前言 之前发布的会员系统有很多小伙伴留言开源 vue springboot 会员收银系统 但是由于工作原因 不方便 ...

  3. vue springboot 会员收银系统

    预览地址  http://120.26.95.195/   demo demo123 收银系统 多门店管理 会员管理系统 门店营销系统 .支持单门店 和多门店. 主要功能有 1会员管理2 商品管理 3 ...

  4. Vue-快餐店收银系统-leftNav.vuePos.vue

    一好友推荐学习vue的一个博客 网址共享:http://jspang.com/ 这是比较基础的课程 技术胖用的是live-server来搭建服务器环境的,推荐以下链接:https://www.cnbl ...

  5. 安卓Android收银系统手机app源码在线演示实景分享

    1,综述:安卓Android收银系统手机app源码版,部分在线实景页面介绍. 1.1,基于安卓8.0原生开发 1.2,完整源码,可独立部署 1.3,商家,店长,收银员,分权限使用 1.4,与桌面收银, ...

  6. 操作系统android的收银系统,基于Android的小微商户移动收银系统设计与实现

    摘要: 移动支付已经成为当前的主流支付方式.为了支持移动支付,传统大中型零售商户纷纷升级收银系统.然而,绝大多数小微商户无力担负这笔成本以购买或者升级收银系统.没有收银设备的商户通常凭传统手记单和记忆 ...

  7. Vue学习之路(8)------快餐店收银系统

    转载:http://jspang.com 第1节:Mockplus把我们的想法画出来 第2节:Vue-cli搭建开发环境 第3节:搞定项目图标Iconfont 第4节:编写独立的侧边栏导航组件 第5节 ...

  8. 超市结算系统|Springboot+Vue通用超市结算收银系统

    作者主页:编程千纸鹤 作者简介:Java.前端.Pythone开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路  关注作者有好 ...

  9. python 收银系统_实现全栈收银系统(Node+Vue)(一)

    前端渐渐趋向后端化,工程化,自动化开发,掌握一门后端语言成了我们必备的不可少阶段,Node的出现让我们能够搭建了简单运算的后台,实现全栈的开发,现在通过几个阶段来开发一套基于VUE开发的Node后台系 ...

最新文章

  1. C语言 实现一个函数判断year是不是润年
  2. Java基础day11
  3. mysql ---- 官网的测试数据库
  4. 【SAS NOTES】if then和if的区别
  5. (NO.00004)iOS实现打砖块游戏(八):游戏中小球与砖块的碰撞
  6. 获取div中的内容写法
  7. python创建树结构、求深度_Python实现二叉树的最小深度的两种方法
  8. 当时明月在,曾照彩云归。
  9. heeds matlab,Ricardo IGNITE下载-整车性能仿真分析软件Ricardo IGNITE下载v2018.1 最新版-西西软件下载...
  10. 关于图片或者文件在数据库的存储方式归纳
  11. Web 前端学习 案例三之制作网页表单
  12. Windows 自动连接wifi的bat批处理脚本
  13. cobalt strick 4.0 系列教程 (5)--- 获取立足点
  14. 和技术大咖们一起工作是怎样的体验?擎创招人进行时,你~要上车吗?
  15. 文档服务器备份策略,云服务器备份备份策略管理
  16. 微信营销系统(第三方微信平台)之微分销模块拓展
  17. 开关电源PCB走线的时候需要注意什么?
  18. bootstrap图片上传
  19. 《逆向工程核心原理》
  20. 限流对于抖音玩家来说,无异于被宣布了“死亡”。

热门文章

  1. C# 获取显卡信息和内存信息
  2. void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?
  3. 基于单片机的GSM防盗系统设计(#0434)
  4. CSS:多种方法画圆
  5. birt报表中使用多个数据集。
  6. 制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)
  7. selenium+webdriver+chrome实现百度以图搜图
  8. 力扣 695. 岛屿的最大面积
  9. 三种家用媒体服务器emby的搭建比较
  10. 从零开始,详解亚马逊店铺注册流程及技巧指南