项目运行环境:
1、必须安装nodejs
node下载地址-Nodejs
2、安装node-gyp
node-gyp是用来编译c++模块的工具,这里用来编译serialport, node-gyp的github文档-node-gyp文档
全局安装
npm install -g node-gyp
通过命令,但是要注意 的是必须以管理员的身份启动CMD窗口
npm install --global --production windows-build-tools
新建项目
1.初始化项目
打开cmd,安装vue-cli
vue-cli npm install -g vue-cli
在当前工程目录下,新建一个项目,使用的electron-vue,输入以下命令:
my-project是自己项目名。
vue init simulatedgreg/electron-vue my-project
然后提示正在下载模板,下完模板之后根据提示进行操作就行,输入你该输入的东西,然后一路Enter:
下载完毕后进入项目目录
cd my-project
安装依赖
npm install
如果npm install无法进行安装,尝试以管理员的身份安装。
若还是不行,尝试如下方法:
1.查看下安装源 npm config get registry
2.如果不是国内的源通过下面的方式设置:npm config set registry http://registry.npm.taobao.org/
3.删除node_moudle文件夹
4.删除package-lock.json这个文件夹
5.npm install --force清除一下缓存
6.再npm install即可安装依赖包成功
npm install 安装完毕后执行
npm run dev
命令运行之后,出现以下界面,代表项目创建成功
2、安装 serialport 库
npm install serialport -save
通过 electron-rebuild 包重新编译原生模块
安装 electron-rebuild
npm install --save-dev electron-rebuild
然后命令行 运行
.\node_modules.bin\electron-rebuild.cmd
把 electron-rebuild 编译进去,,,,,实际操作中有很多坑要采
原因分析:
提示:这里填写问题的分析:
例如:Handler
发送消息有两种方式,分别是 Handler.obtainMessage()
和 Handler.sendMessage()
,其中 obtainMessage
方式当数据量过大时,由于 MessageQuene
大小也有限,所以当 message
处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。
解决方案:
提示:这里填写该问题的具体解决方案:
例如:新建一个 Message
对象,并将读取到的数据存入 Message
,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
换成 mHandler.sendMessage()
。