2.2k 2 分钟

# 前言 首先, Vite 中没有 require 相关方法,因为它默认支持 ESM 方式加载模块! 所以,我们要理清如下两个方法: # 方法 require () Node.JS 原生方法 ,以 CommonJS 方式加载模块 / 文件 / 图片; Webpack 默认支持 , Vite 不支持; # 方法 require.context () Webpack 特定方法,此方法可实现自定义上下文; Vite 不支持; 但 Vite 提供解决方案,请接着往下看! # 解决方案 # require () 加载模块 报错 require 未定义 Uncaught (in promise)...
294 1 分钟

fixedStep() { this.$nextTick(() => { this.tableData.map(item => { this.batchCompu.forEach(v => { item[`batch${v}`] = (Number(item.num) + (v - 1) * Number(item.step)).toFixed(this.digits) }) return { ...item }...
3.2k 3 分钟

# 前端 1. 引入 jsencrypt # 使用 npm 引入cnpm install jsencrypt2. 创建通用的工具 JS 公钥可以通过此网站在线生成 在线生成公钥私钥对 示例代码使用的密码格式: 密钥长度:1024 bit 密钥格式:PKCS#8 注意:当使用 IDE 将密钥转换成一行时,小心换行符,有的 IDE 不显示。此时可以将文本粘贴到 Chrome Console 检查! import { JSEncrypt } from 'jsencrypt'/** * 公钥是通过 base64 加密转化的 *...
329 1 分钟

报错原因:怕全局 “this” 与局部变量发生混叠。 解决:按照 eslint 官方给出的解决方式在 .eslintrc.js 文件中备注 this 可用的局部变量名称 { '@typescript-eslint/no-this-alias': [ 'error', { allowDestructuring: false, // Disallow `const { props, state } = this`; true by default allowedNames:...
3k 3 分钟

作为一个 3D 的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的 H5 项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低 loading 的时间。这里就分享一些我们在模型加载优化方面的心得。

# 一、前言

近段时间,我们使用 three.js 完成了 vivo 拟我形象的开发工作,大家可以在 vivo 账号中拟制属于自己的 3D 形象,也可以保存作为自己的头像名片。

作为一个 3D 的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的 H5 项目要更长一些。然而过长的等待时间会造成大量的用户流失,这部分用户没有体验到具体的功能就退出了页面非常的遗憾,为了提升首屏加载的转化率,需要尽可能的降低 loading 的时间。这里就分享一些我们在模型加载优化方面的心得。

3.2k 3 分钟

视觉算法开发新利器:低代码工具箱全解析,简化开发流程,新增高级视频分析功能!

计算机视觉算法开发过程中,你是否需要从硬盘加载数据集、在图像或视频上绘制分类检测结果、选择视频中的特定区域进行分析,或者统计一个区域内目标的流量分析。如果有上述需求,那么文中这款计算机视觉工具箱绝对可以帮你事半功倍!

视频指定区域车流量计数

动图封面

视频指定区域分析

动图封面

6.7k 6 分钟

refreactive 是 Vue3 中实现响应式数据的核心 API

  • ref 用于包装基本数据类型
  • reactive 用于处理对象和数组。

尽管 reactive 似乎更适合处理对象,但 Vue3 官方文档更推荐使用 ref

下面我们从源码的角度详细讨论这两个 API,以及 Vue3 为什么推荐使用 ref 而不是 reactive

1.1k 1 分钟

inheritAttrs: false 是 Vue 2.4.0+ 引入的组件选项,用于控制是否从父组件继承属性到子组件的根元素上。当设置为 true 时(默认行为),父组件中的非 prop 属性会被应用到子组件的根元素上。当设置为 false 时,这些属性不会被应用到子组件的根元素上。 例如,如果你有以下父组件: <template> <div> <child-component class="parent-class" id="parent-id" />...
5.8k 5 分钟

# 前言

经常的,我们在日常工作中,会使用第三方 UI 组件库,比如:element-ui、vant-ui、iview、ant-design 等等。不管是为了业务考虑还是单纯的为了提高效率,我们会把一些经常用到的组件抽离、封装成公共组件,这样方便我们在不同的地方使用这个组件,减少重复代码的编写。

我们把对于第三方组件库的封装称为组件的二次封装,那么这带来有个思考,当我们在二次封装时,我们在封装什么?