Three.js 基础知识,Three.js 学习笔记

Three.js 相关教程:http://www.webgl3d.cn/ Three.js 是一个基于 WebGL 的 JavaScript 库,它允许你在浏览器中创建和显示3D图形。 在Three.js中通常涉及以下几个基本组件: 场景(Scene):场景是所有对象、灯光和相机的容器。它是3D世界中所有可见元素的集合。 相机(Camera):相机定义了观察场景的视角。Three.js中最常用的相
Three.js 基础知识,Three.js 学习笔记

一款可以DIY衣服、手机壳、抱枕等任意二维图像的Web程序

之前写过一个DIY手机壳的小程序:https://nicen.cn/5618.html 上线了一段时间之后,发现有类似需求的人还不少,所以想着在空闲的时候做了一个升级版 相较于小程序版本,这一版功能更多、更完善,选择web端也是考虑到它对各种业务场景的兼容更强,开发也更方便。 以下是几个配置好的支持DIY的物品: T恤:https://douyin.nicen.cn/m.html?project=
一款可以DIY衣服、手机壳、抱枕等任意二维图像的Web程序

前端Server-Sent Events、EventSource接口相关知识点总结,什么是EventSource?

转自:http://www.ruanyifeng.com/blog/2017/05/server-sent_events.html 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来
前端Server-Sent Events、EventSource接口相关知识点总结,什么是EventSource?

前端事件总线(Event Bus)是什么?前端事件总线的简单介绍

参考文章:https://www.pipipi.net/questions/13598.html 事件总线是对发布-订阅模式的一种实现,它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 发布订阅模式定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 发布订阅模式主要有两个角色: 发布方(Publ
前端事件总线(Event Bus)是什么?前端事件总线的简单介绍

Eslint该如何配置?Eslint使用以及相关配置说明

Eslint在过往接触过的很多开源项目内都有它的身影,习惯一个人写代码了,总觉得它可有可无,但是归根结底,好处还是很多的。 可强制规范团队编码规范,让新旧组员编码习惯得到一致提升 可灵活定制团队编码风格,让预设规则符合新旧组员心理预期 增加项目代码的可维护性和可接入性,让新组员能快速适应项目的架构与需求 保障项目整体质量,可减少无用代码、重复代码、错误代码和漏洞代码的产生几率 中文官网:https
Eslint该如何配置?Eslint使用以及相关配置说明

网页元素相交监测:Intersection Observer API

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API Intersection Observer API 提供了一种异步检测目标元素与祖先元素或 viewport 相交情况变化的方法。 过去,要检测一个元素是否可见或者两个元素是否相交并不容易,很多解决办法不可靠或性能很差。然而,随着互联网的发
网页元素相交监测:Intersection Observer API

JS实用函数收集,持续记录

function getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = e
JS实用函数收集,持续记录

JS定时器清除之后,已经开始但是没有运行完的函数还会继续运行吗?

最近使用定时器的时候遇到这样一种情况,定时器清除了,功能仍然在跑(遍历数组,同步定时网络请求)。 排查了一下代码,发现逻辑确实没问题。后来一想,是不是函数没运行完,仍然在跑,于是上代码测试了一下: let timer = setInterval(async () => { console.log("开始") await new Promise((resolve) => { setTim
JS定时器清除之后,已经开始但是没有运行完的函数还会继续运行吗?

前端Mockjs学习笔记,持续记录

相比于自己写一个模拟数据返回的后端接口,好像还是这个来的更加方便。 让前端攻城师独立于后端进行开发。不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 基于对window的xhr对象的二次封装,增加了用于拦截的逻辑。 npm install mockjs Mock.setup({ timeout: 400 }) M
前端Mockjs学习笔记,持续记录

WebRTC开发经验总结,持续记录

volume 音量约束 sampleRate: 采样率 sampleSize: 采样大小,采样的位数 echoCancellation: 回音消除 autoGaincontrol: 增加音量 noiseSuppression: 降噪 latency : 延迟大小 channelCount: 切换声道 deviceID: 多个音频输入输出设备的进行切换 groupId: 同一个物理设备,是一个分组,
WebRTC开发经验总结,持续记录

《千锋最新前端webpack5》学习笔记,持续记录

视频地址:https://www.bilibili.com/video/BV1YU4y1g745 webpack文档:https://webpack.docschina.org/concepts/ 了解一下CMD模块化规范。(module.export={}相关规范) Require.js不通过config方法配置模块路径时,也可以做require时指定完整的引入路径(require(
《千锋最新前端webpack5》学习笔记,持续记录

JS的异步编程过程中的问题集锦、echarts使用记录。

为了方便维护,在JS里的把html模板和业务逻辑做了分离,在业务逻辑里向模板对象传递指定的data对象返回生成好的html,以往的数据对象是用户交互产生的,今天需要改成从接口拉取。 按照以往的逻辑,获取用户的交互数据,传递给模板。基本上是同步的,今天修改的时候为了不触碰原有的代码,把网络请求单独放在了其他对象里,业务流程变成了,调用网络请求函数产生的返回值作为数据对象传递给模板对象。 一切看似没问
JS的异步编程过程中的问题集锦、echarts使用记录。