包管理器指定运行目录1. pnpmpnpm 支持通过 -C 参数指定当前工作目录,从 v6.10.0 版本开始。
1"build:app": "pnpm -C ./frontend run build:app",
2. npmnpm 本身不支持直接指定工作目录,但你可以使用 --prefix 参数达到类似的效果:
1"build:app": "npm --prefix ./frontend build:app",
3. yarn1Yarn 中 `--cwd`
使用场景在多目录都需要install情况下,同时运行 npm install
1234567891011121314"scripts": { "install:all": "pnpm install && pnpm -C ./web install"}"scripts": { "install:all& ...
Three初始化1、创建场景
2、创建相机
3、创建物体;添加到场景
4、创建渲染器;加入页面;渲染场景和相机
1.创建场景1const scene = new THREE.Scene();
2.创建相机12345const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );// 相机设置camera.position.set(0,0,10);scene.add(camera)
3.创建物体;添加到场景12345// 创建物体const gemotry = new THREE.BoxGeometry(1,1,1);const material = new THREE.MeshBasicMaterial({color:0x00ff00})const cube = new THREE.Mesh(gemotry,material);scene.add(cube);
4.创建渲染器;加入页面;渲染场景和相机12345678// 渲 ...
云点概念模型数据说明
网格数据(多边形网格的数据)
点数据(顶点的属性)
顶点的坐标
顶点颜色
顶点法线
面数据(网格中各个面片(多边形)的属性)
顶点索引:描述组成面片的顶点在点数据中的索引或编号
法线向量:描述面片的法线方向,即垂直于面片的方向
颜色:描述面片的颜色信息
纹理坐标:描述面片上每个顶点对应的纹理坐标。纹理坐标用于将纹理映射到模型表面上,以实现更加细致的渲染效果
材质属性:描述面片所使用的材质属性,如反射率、折射率、粗糙度等。这些属性可以影响面片在渲染过程中的外观和行为
UV映射:描述面片上每个顶点对应的UV坐标。UV映射用于将2D纹理映射到3D模型表面上,通常与纹理坐标一起使用。
uv映射:为模型的每个顶点分配对应的纹理坐标
点云生成模型 在点云融合中,通常会使用纹理图来获取表面纹理信息,并将其应用到生成的模型上。这个过程一般分为以下几个步骤:
点云配准(Point Cloud Registration):这一步骤主要确保多个点云数据对齐到一个共同的参考坐标系中,确保它们的位置和姿态一致。配准的过程一般包括特征提取、特征匹配、相机姿态估计、计算 ...
vite组件插件这里的 config 方法接收一个参数,通常也是名为 config 的对象,它代表了当前 Vite 项目的配置。该方法返回一个新对象,其中包含对原始配置的修改或扩展。在这个例子中,返回的对象中有一个 define 属性,它是用来定义全局常量的。
vite.config.ts
123456plugins: [ uniReadPagesV3Plugin({ pagesJsonDir: path.resolve(__dirname, './pages.json'), includes: ['path', 'aliasPath', 'name', 'meta'], }),],
插件返回值
12345678910111213uniReadPagesV3Plugin返回值如下 return { name: 'uni-read-pages-v3', config(config) ...
howler.js用法示例
播放最基本的 MP3 文件:
1234var sound = new Howl({ src: ['sound.mp3']});sound.play();
流式传输音频(适用于实时音频或大文件):
12345var sound = new Howl({ src: ['stream.mp3'], html5: true});sound.play();
核心选项
src:所需加载的音轨的源(URL 或 base64 数据 URI)。应按优先顺序排列。如果文件没有扩展名,则需要使用 format 属性明确指定扩展名。
volume:特定音轨的音量,从 0.0 到 1.0。
html5:设置为 true 以强制使用 HTML5 Audio。这应该用于大音频文件,以便不必等待整个文件下载和解码后再播放。
loop:设置为 true 以自动无限循环声音。
preload:当定义 Howl 时自动开始下载音频文件。如果使用 HTML5 Audio,可以将其设置为 ‘metadata’, ...
使用vue3创建媒体池/播放器
1、音频类型枚举1234export enum SoundEffects { tipsMusic = 0, bgMusic = 1}
2、创建reactive对象,存储音频Howl相关信息12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455const playbackControls = reactive({// 数组存储音频 sounds: [{ playId: '', playing: false, sound: null, },{ playId: '', playing: false, sound: null, }] as any, // 播放音频 play: (src: string,typeIndex :SoundE ...
工程配置项中添加path的方法1、使用resolve12345678import { resolve } from "path"function _resolve(dir: string) { return path.resolve(__dirname, dir)}// 使用方法'@': _resolve('src'),
2、获取根目录1const root = process.cwd(); // 当前执行node命令时文件夹的地址(工作目录)
3、fileURLToPath, URL,在vite目录下1console.log(fileURLToPath(new URL('./src', import.meta.url)));
约束git commit-配置commitlint一、Commitizen生成规范-配置交互简单来说,Commitizen 是规范的核心,而 commitizen/cli 是帮助你执行这个规范的工具,这样说的原因是commitizen/cli的使用不依赖Commitizen,类似于vue 和vue cli的关系
一句话理解关系
Commitizen + Commitizen Adapter == 支持自定义的Commitizen/cli交互界面
安装Commitizen 就有命令git-cz
安装Commitizen Adapter后执行git-cz就能终端交互
安装Commitizen/cli 就有命令commitizen-cli
01、只使用commitizen/cli不依赖Commitizen工作,只需要配置package.json
123"scripts": { "commit": "commitizen-cli" // commitizen-c ...
使用husky配置和lint-staged的两种方法方法一:husky 触发 npm run 命令 -> lint-staged 节点.husky/pre-commit 配置:
1npm run lint:lint-staged
package.json 中的相关配置:
1234567891011121314151617181920212223242526{ "scripts": { "lint:lint-staged": "lint-staged" }, "lint-staged": { "*.{js,ts}": [ "eslint --fix", "prettier --write" ], "*.{cjs,json}": [ "prettier --write" ...