electron+vue项目使用serialport报错Cannot read property ‘indexOf‘ of undefined解决办法 使用Electron+Vue项目时引入serialport串口后启动时报下面错误。
前端对接电子秤、扫码枪设备serialPort 串口使用教程 SerialPort 是一个用于在 Node.js 环境中进行串口通信的库。它允许开发者通过 JavaScript 或 TypeScript 代码与计算机上的串口设备进行交互。SerialPort 库提供了丰富的 API,使得在串口通信中能够方便地进行设置、监听和发送数据。
如何查看串口号和波特率? serialport引入后,设备也接上了,一直不知道串口号和波特率去哪里找,当时这个问题困扰了我很久。获取到的ports是一个数组,包含当前电脑上所有的串口,其中的。还有一个方法也可以查看到串口号,但是看不到波特率,就是使用。
TypeScript基础 定义函数、接口和类的时候,在名称后面加上< >来定义泛型,< >里面加上泛型的名称// 泛型// 定义函数、接口和类的时候不指定类型,使用的时候再定义类型return arg// 根据传入的类型决定返回的类型// res等于number类型的123// res2等于string类型的123创建了一个名称为T的泛型,「T到底是什么类型不知道,可能是任何一种,具体是什么要看使用时传入的类型。arg: T 使用泛型T作为入参的类型将泛型T作为函数返回值定义多个泛型// 定义多个泛型。
Vue响应式进阶 和shallowRef()方法作用一样,shallowReactive()也是监听第一层数据,不一样的是数据是reactive数据,不是ref数据。track和trigger两个函数的作用就是将数据变成响应式,触发其他的方法,比如只有触发了track和trigger两个函数组件才会重新渲染,页面数据才会变。shallowRef()和triggerRef()是一对死对头,前者是深层数据改变的时候不让重新渲染组件,后者则是深层数据改变的时候偏偏就要重新渲染组件。可以返回由 reactive()
Vue响应式核心 watchEffect和watch的作用都是监听数据,不同的是watchEffect不需要指定监听谁,第一个参数直接传入监听回调函数,会根据函数中用到的数据进行自动监听,只要其中任何一个数据变了就会执行。一般watch不做其他配置的话用前两个参数就够了,第一个是监听的数据,第二个是数据改变时的回调函数,如果需要修改watch配置参数就需要第三个参数了,第三个参数是一个对象,就是一些配置属性。监听多个:传入数组监听多个数据,回调函数中返回的newValue和oldValue也会是一个数组,和传入的顺序一致。
Vue响应式工具 *当readony包裹ref数据时,isRef和isReadonly都为ture **Vue数据检测:isRef()、isReactive()、isReadonly()isReadonly: 检测是否为readonly只读数据, 返回布尔值。toRefs从名字就可以看出来是和toRef差不多,他们的区别就是。isReactive:检测是否为reactive数据,返回布尔值。isRef:检测是否为ref数据,返回布尔值。ref数据批量转换:toRefs()ref数据转换:toRef()
Vue3依赖注入 vue3中数据的依赖注入是通过provide和inject实现的,provide负责在父级组件中提供一个要传递给子组件的值,inject负责在子组件中接收父组件提供的值。如果想要注册全局任何组件都可以用的数据,可以通过app.provide进行全局注入。在全局中通过app.provide注入数据。在父组件中通过provide注入数据。在子组件中通过inject获取数据。父组件通过provide提供值。子组件通过inject接收值。
Vue3生命周期 如果不使用这个生命周期的话子组件报错的时候浏览器里会直接报错,使用这个生命周期会捕获到错误,浏览器中就不会报错了,错误可以在这个生命周期中处理。使用keep-alive组件缓存时,离开页面时调用,等同于deactivated。组件创建前触发,等同于beforeCreate和created,没有this。使用keep-alive组件缓存时,进入页面时调用,等同于activated。组件挂载后触发,dom加载完毕。组件挂载前触发,等同于beforeMount,组件更新前调用,等同于beforeUpdate。
Vue笔记-Setup 因为返回的是渲染函数,渲染函数只是渲染当前是组件内容,没有返回其他数据。所以返回函数的话数据就只能在组件内部使用,不能在组件外部访问,因为没有return数据。context是上下文对象,里面有attrs,slots,emit,expose。在setup中一般是返回一个json对象,里面是data数据。当data中有一个name,setup中也有一个name时,会用哪个呢?expose官方称为:暴露公共属性,就是用来暴露给父组件的属性用的,:在子组件中有name和age两个数据,只暴露出name数据。
electron打包ffi-napi报错 npm ERR! gyp reason: read ECONNRESET 网上其他人报错都是403,我的是根本没连接上服务器。因为我连的是公司的网络,公司的网络经常会屏蔽一些东西,比如哔哩哔哩就打不开。了,在package.json中去掉ffi-napi就可以打包,但是打包运行后提示缺少ffi-napi,所以必须带着ffi-napi打包。刚开始我以为是ffi-napi依赖包的问题,然后重新npm install了好多次,打包依然是这个问题。我本来连的是公司的wifi,更换了一下网络,打开手机热点,让电脑连接手机热点。然后百度有人说是镜像源的问题,换了镜像源还是不行。
electron-vue脚手架搭建的项目,运行后报错:Object.fromEntries is not a function 解决办法:安装polyfill-object.fromentries,在项目根目录执行命令。
Vue3状态管理-小菠萝Pinia快速入门学习 pinia是vue3官方的状态管理工具,当然vue2也可以用。vue2中的状态管理工具是vuex,vue3中不再使用vuex,推荐使用的是pinia, 和vuex差不多,但比vuex更方便、更强、更好。所以你也可以把pinia理解为vuex的升级版
JS事件处理机制/微任务和宏任务 任务、微任务、队列和时间表: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/创建一个微任务:queueMicrotask。