刚使用MAC笔记本时间不长的小白,昨天在知乎上看到知友推荐 oh-my-zsh 比系统自带的zsh 工具更友好,忍不住就安装,确实主题蛮好的。 第二天起来想运行一个前端项目,发现node、nvm等命令都不能用了 提示:nvm command not found,查了很久资料终于找到的答案,就是昨晚...
Vue3 element-plus 中使用 sheetjs xlsx 导入导出 Excel
由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。本文全部都是以xlsx格式为例。 官方github:https://github.com/SheetJS/js-xlsx 安装模...
vite 常见报错解决集
Dynamic require of “path” is not supported 这里笔者使用的是最新版的 vite ^4.3.2 配置了项目的别名处理 const path = require('path') resolve: { alias: { '@': path.resolve(__dirname, 'src'), '@comp': path.resolve(__dirname, 'src/comp...
css display: inline-block; 行内块级元素之间的间隙怎么解决
在页面排版中,我们经常会有需要把多块内容放在一行显示。最常用的一种方法就是设置子元素为行内块级元素, display: inline-block;。当然也还有其它方式,如:display: flex; 等,这里就不展开讲了。 设置行内块级元素之后,细心的人就会发现子元素内容之前有个大概5个像...
vue-cli-service 报错 Error: error:0308010C:digital envelope routines::unsupportedvue-cli-service
这个错误的原因是因为 node.js V17+ 版本发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响. 笔者使用的 Node.js 版本是 18.16.0。解决这个总是有两个方案 一、重装 node.js,降低版本 推荐 nvm 安装,github:...
echarts y轴5等分,zoom滚动可视区域最近5等分最大值
笔者在一个echarts可视化项目中,Y轴5等分需求时,困扰了很久,网上大多数案例都是初始计算出最大值 maxValue,interval = maxValue/5 这样会有一个问题,在有滚动条的场景时,可视区域数据的最大值并不是初始所有数据的最大值。 yAxis.max 这个属性可选参数 格式:n...
Vue2 Object.defineProperty VS Vue3 Proxy
普通的 Javascript 对象作为 data 选项传给应用或组件实例的时候,Vue 会使用带有 getter 和 setter 的处理程序遍历其所有 property,并将其转换为 Proxy。这是 ES6 仅有的特性,但是我们在 Vue3 版本也使用了 Object.defineProperty 支持 IE 浏览器。虽然两者具有相同的 Surf...
vue3 实践之 Composition API(ref、reactive、toRef、toRefs、自定义 hooks 等)
Vue3 与 Vue2 最大的不同在于新增了 Composition API,Composition API 官方文档:https://cn.vuejs.org/guide/extras/composition-api-faq.html setup setup 函数是处于生命周期函数 beforeCreate 之前的函数,新的 option、所有的组合式 API 函数都在此使用,并且只在...
memo、useMemo、useCallback 应用及区别,性能优化
当用class组件的时候我们可以通过 PureComponent 或者生命周期中的 shouldComponentUpdate 方法来进行优化,但是对于hooks要怎么做呢? memo React.memo 为高阶组件。它与 React.PureComponent 非常相似,但它适用于函数组件,但不适用于 class 组件。 如果你的函数...
vue 如何引入jsx及实践过程中遇到的问题
这里笔者是直接拿的一个 vue-cli 脚手架生成的一个工程 vue-cli 安装请参考官方文档 https://cli.vuejs.org/zh/guide/installation.html 安装 jsx 插件 npm @vue/babel-helper-vue-jsx-merge-props @vue/babel-preset-jsx -D babel.config.js module.export...