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.JS 开发文档, 一款专用于DIY定制的Canvas图形库

DIY.JS是一款专用于DIY定制的Canvas图形库,兼容h5、微信小程序、抖音小程序、淘宝小程序 DIY的可操作区域由两部分组成(两个层叠的Canvas对象): 背景图层:用于物品模型绘制,比如衣服、手机壳 DIY图层:用于素材绘制,以及定义对应物品的可DIY区域 DIY区域指的是在指定物品上,用户可以进行个性化定制的区域。 DIY区域由Canvas的destination-in的混合模式进行
DIY.JS 开发文档, 一款专用于DIY定制的Canvas图形库

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

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

如何在Vue中实现单个组件的动态重新加载?

单个组件动态重新加载,指的是让某个已经渲染的组件,自动销毁然后开始一个新的生命周期。 大部分情况下,一个需求会很多种实现方法,而接下来要说明的方法,也是众多解决方法之一。 到目前为止,遇到过两个需要实现这种功能的需求: 1. 后台管理系统中,对页面的功能区域(导航栏、侧边栏之外的区域)进行局部刷新 简单一点的功能页面,或许只需要重新加载接口,触发一下数据更新就够了,但是某些复杂的页面通过更新数据来
如何在Vue中实现单个组件的动态重新加载?

Fabric.js 学习笔记,快速上手

Fabric.js官网:http://fabricjs.com/ Fabric.js自定义构建:http://fabricjs.com/build/ Fabric.js 是一个强大的、灵活的 HTML5 画布库。 在 Fabric.js 中,preserveObjectStacking 属性是一个布尔值,用于控制当对象被修改(例如移动、旋转、缩放等)时,它们在堆栈中的位置是否保持不变。 设置 pr
Fabric.js 学习笔记,快速上手

Vite如何自动导入指定目录内的静态资源文件,并生成导出模块?

上一次详细学习Vite的文档的时候还是Vite2.x,现在Vite已经到了Vite5,在此期间已经有了很多新的变化和特性,刚好今天抽空重新学习一下。 Vite 不再支持 Node.js 14 / 16 / 17 / 19,因为它们已经到了 EOL。现在需要 Node.js 18 / 20+。 查看Vite预设的各种开发模板:https://github.com/vitejs/vite/tree/m
Vite如何自动导入指定目录内的静态资源文件,并生成导出模块?

一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码)

一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码),兼容抖音和微信小程序,在线案例: Github:https://github.com/friend-nicen/DIY Gitee:https://gitee.com/friend-nicen/DIY 下载HBuilderX,导入项目 修改中的为你的小程序的 安装依赖 "" 运行到微信或抖音小程序(无后端代码,需要模拟接口) ├─.hb
一款基于UNIAPP开发的手机壳DIY小程序(前端示例代码)

Cloudflare Workers学习笔记,Cloudflare Workers 是什么?

开发文档:https://developers.cloudflare.com/workers/ Cloudflare Workers提供了一个serverless执行环境,无需配置或维护基础架构即可创建全新的应用程序或扩充现有的应用程序。 Wrangler是一个用于Cloudflare Workers功能开发、测试、部署的CLI工具 相关文档:https://developers.cloudfla
Cloudflare Workers学习笔记,Cloudflare Workers 是什么?

通过PM2来管理Node、PHP CLI等脚本应用进程,什么是PM2进程管理器?

PM2官网:https://pm2.keymetrics.io/docs PM2.js是一个Node.js应用程序的进程管理器,可以帮助开发人员在生产环境中管理和监控Node.js应用程序或其他程序的进程。它可以自动重启应用程序,监控应用程序的资源使用情况,以及提供实时日志记录和错误处理等功能。此外,PM2.js还可以通过集成的API和CLI工具来管理和监控多个Node.js应用程序。 对于nod
通过PM2来管理Node、PHP CLI等脚本应用进程,什么是PM2进程管理器?

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

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

前后端分离状态下,如何搭建微信公众号网页的本地开发环境?

进行微信公众号网页开发的时候,微信平台一般有如下几个要求: 必须是https协议 通过验证的可信域名 开发过程中一般有如下几个需求: 本地开发,正常调用微信API,实时调试。 和正常浏览器一样的开发体验。 构建工具都自带了web服务器,但是对于配置https以及自定义域名不是很友好。所以一般通过反向代理来实现自定义域名以及https: 假设开发服务器地址为:http://192.168.2.3:8
前后端分离状态下,如何搭建微信公众号网页的本地开发环境?

微信公众号Web开发笔记,如何开发自己的公众号应用?

官方文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的Ope
微信公众号Web开发笔记,如何开发自己的公众号应用?

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

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

【转】HTML5中手势原理分析与数学知识的实践

在这触控屏的时代,人性化的手势操作已经深入了我们生活的每个部分。现代应用越来越重视与用户的交互及体验,手势是最直接且最为有效的交互方式,一个好的手势交互,能降低用户的使用成本和流程,大大提高了用户的体验。 拖动: drag 双指缩放: pinch 双指旋转: rotate 单指缩放: singlePinch 单指旋转: singleRotate 长按: tap 滑动: swipe 所有的手势都是基
【转】HTML5中手势原理分析与数学知识的实践

记录一些在此之前不知道的Web API

首先回顾一下以前了解过的Web API(强确实强,但很少用到...) Intersection Observer API 提供了一种异步检测目标元素与祖先元素或 viewport 相交情况变化的方法。 相关文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API  全屏 API 为使用用户的整个屏幕展
记录一些在此之前不知道的Web API

Canvas学习笔记,记录使用过程中遇到的一些问题

fill(),方法用于填充已有的闭合路径,假设有一个如下图的路径,默认情况下圆和方形都会被填充,最后的效果就是一个黑色的方形; 通过fillRule参数,可以指定填充的算法,决定点是在路径内还是在路径外。 允许的值: "nonzero": 非零环绕规则,默认的规则。 "evenodd": 奇偶环绕规则。 将填充规则设置为evenodd,绘制的结果会变为下面这样,通过这种方式可以实现反向裁剪。 通过
Canvas学习笔记,记录使用过程中遇到的一些问题

前端canvas基础复习,canvas学习笔记

最开始学html5的时候,曾特意了解过canvas,还记得当时为了搞明白canvas的api,绞尽脑汁了很多个日日夜夜。 但实际工作后用的非常少,到现在canvas的api忘的也差不多了。目前打算好好学一下canvas,尝试一下更多的可能性。 一些资料的收集: Canvas相关的框架的使用,小程序有自带的Canvas框架,还有Egret 、Phaser等;可视化数据的相关框架有:echarts、h
前端canvas基础复习,canvas学习笔记

Typescript学习笔记,从入门到精通,持续记录

//安装 npm install -g typescript //编译 tsc hello.ts //初始化 tsc --init Typescript可以理解为带静态类型的Javascript; 布尔值,boolean 数值,number 字符串,string 空值,void 表示没有任何返回值的函数 Null 和 Undefined /* 先声明后使用 */ let a: string; a
Typescript学习笔记,从入门到精通,持续记录

Node Puppeteer 该如何使用?相关知识点总结

Puppeteer 是 Chrome 开发团队在 2017 年发布的一个 Node.js 包,用来模拟 Chrome 浏览器的运行。 中文文档:https://puppeteer.bootcss.com/ CDP 基于 WebSocket,利用 WebSocket 实现与浏览器内核的快速数据通道 CDP 分为多个域(DOM,Debugger,Network,Profiler,Console...)
Node Puppeteer 该如何使用?相关知识点总结

Vue渲染函数该如何使用?有哪些需要注意的地方?

Vue的模板语法适用于绝大部分的需求场景(模板最终会被编译为渲染函数),在绝大多数情况下,Vue 推荐使用模板语法来创建应用。然而在某些使用场景下,我们真的需要用到 JavaScript 完全的编程能力,举例如下: 假设设计一个开源的后台管理系统,侧边栏菜单需要根据路由自动生成菜单,由于系统可能会被用于不同的功能需求。所以路由的层级、数量都是不确定的。 如果通过模板语法来写,假设路由最多只有三层,
Vue渲染函数该如何使用?有哪些需要注意的地方?

不使用构建工具,如何对css进行模块化?

使用构建工具进行开发,最终通过构建工具打包编译出最终的前端代码是现在的大趋势,但是构建工具生产出来的大都是前后端分离的代码。如果对seo有要求,通过构建工具就不符合需求了(不考虑SSR,毕竟它局限于Node); 在PHP的世界里还是有很多不分离的场景的(例如wordpress)。 对于html可以通过PHP自身的特性去拆分,对于JS 已经有了很多成熟的模块化方案。 那么对于css呢? 这里的模块化
不使用构建工具,如何对css进行模块化?

Vue项目开发过程中,该如何维护全局状态?

什么是状态?在代码的世界里,状态就是指数据,简单的理解:你现在的情绪状态是怎样的? “高兴”,“悲伤”,这就是描述你当前情绪状态的数据。 抽象到一个描述用户的Vue组件,当前登录的用户的头像和昵称,就是这个组件的状态(数据); 从字面意思理解就是,在系统任意地方都可以调用的数据(类似全局变量的概念)。 全局变量,一般特指系统内任意代码位置都可以调用的变量; JS有很多实现全局变量,或者类似全局变量
Vue项目开发过程中,该如何维护全局状态?