ESBuild 添加

main
rayc 2024-06-26 14:10:08 +08:00
parent aca795d76b
commit 88c2bd4dd5
7 changed files with 92 additions and 22 deletions

View File

@ -49,7 +49,7 @@
"state": {
"type": "markdown",
"state": {
"file": "web/lint/前端开发中的lint.md",
"file": "工具相关文档/git/Git 遇到的问题.md",
"mode": "source",
"source": false
}
@ -134,7 +134,7 @@
"state": {
"type": "backlink",
"state": {
"file": "web/lint/前端开发中的lint.md",
"file": "工具相关文档/git/Git 遇到的问题.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -151,7 +151,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "web/lint/前端开发中的lint.md",
"file": "工具相关文档/git/Git 遇到的问题.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@ -174,7 +174,7 @@
"state": {
"type": "outline",
"state": {
"file": "web/lint/前端开发中的lint.md"
"file": "工具相关文档/git/Git 遇到的问题.md"
}
}
}
@ -197,41 +197,41 @@
},
"active": "90f44bcb7cbd1134",
"lastOpenFiles": [
"Android Hilt.md",
"web/lint/前端开发中的lint.md",
"web/lint",
"日志检索.md",
"工具相关文档/VSCode/VSCode 相关.md",
"工具相关文档/Android Studio",
"工具相关文档/git/Git 笔记.md",
"工具相关文档/git/Git 遇到的问题.md",
"语言/Rust/2024-06-06.md",
"语言/Rust/Rust学习笔记一.md",
"博文计划/待写博客.md",
"日志检索.md",
"未分类日志.md",
"工具相关文档/VSCode/VSCode 连接 云服务器.md",
"工具相关文档/VSCode/VSCode 文件嵌套.md",
"工具相关文档/VSCode/VSCode 相关.md",
"博客/docker 安装 wordpress.md",
"web/Rollup 学习.md",
"web/ESBuild 学习.md",
"web/lint/前端开发中的lint.md",
"Android Hilt.md",
"web/lint",
"工具相关文档/Android Studio",
"README.md",
"开发中/Vue3 + 腾讯COS文件上传.md",
"工具相关文档/git",
"工具相关文档/未命名.md",
"开发愿望清单.md",
"开发中/本地版本的cos图床.md",
"工具相关文档/VSCode/VSCode 连接 云服务器.md",
"工具相关文档/VSCode/VSCode 文件嵌套.md",
"工具相关文档/VSCode",
"未命名",
"工具相关文档/Obsidian 使用笔记.md",
"开发中/RayC后台开发日志.md",
"gitea.md",
"开发中",
"未分类日志.md",
"语言/Rust/Rust学习笔记一.md",
"博客/Android/相机/Android Camera2 在预览时,录制视频.md",
"博客/docker 安装 wordpress.md",
"Bug日志/后端 -- Bug记录.md",
"极客时间学习/Nginx_geek/核心基础.md",
"语言/Kotlin/2023-11-16.md",
"语言/未命名.md",
"语言/Kotlin",
"语言",
"极客时间学习/Java 实战训练营/分布式服务/分布式服务.md",
"极客时间学习/Java 实战训练营/分布式服务/分布式服务容错.md",
"文档编写/PRD",
"文档编写/PRD.md",
"文档编写"
]
}

16
web/ESBuild 学习.md Normal file
View File

@ -0,0 +1,16 @@
- 使用 `esbuild` 构建一个项目
- 使用命令构建
- 使用build脚本构建
- 使用 `build` 方法构建,不能使用 watch mode 和 serve mode
- 使用 `context` 方法进行构建,用来配合 `watch` , `serve``rebuild` 进行构建
- `watch` 在项目内容变更后,会自动进行编译
- `serve` 项目可以通过生成的 一个web服务进行访问每次刷新访问的时候会判断是否修改了内容如果内容发生变化则会重新编译一次项目
- `rebuild` 可以在创建出 `context` 之后,手动操作构建
- 停止 `context`上面的三种方法实现构建项目,构建过程不回主动停止,如果需要停止这个项目,可以中断命令的执行,或者调用 `context.dispose()` 会立即停止当前的 context
- `esbuild` 使用插件
- 官网有一个插件的实现案例用来获取系统的Path信息并进行显示 [参考地址]([esbuild - Plugins (docschina.org)](https://esbuild.docschina.org/plugins/))
- `onResolve` 钩子函数
用在路径解析过程中
`onResolve` 返回的 的内容中的 `namescape`, 后面 `onLoad` 会 根据这个`namespace` 进行过滤,并作出相应的数据
- `onLoad` 钩子函数
用在模块内容加载过程中时

42
web/Rollup 学习.md Normal file
View File

@ -0,0 +1,42 @@
- Rollup 打包
- Tree Shaking分析出没有使用的模块并自动擦除
- 因为ES模块依赖关系是确定的所以可以在编译阶段分析出依赖关系对AST语法树中没有使用的节点进行删除
- 常用配置
- 多产物配置
- 在 `output` 配置中,使用一个数组,把多种需求依次写上
- 多入口配置
- 和 多产物配置类似把不同的入口文件都一次用对象或者数组的方式写在input 的位置即可
- 自定义 `output` 配置
- 常用output配置
``` javascript
output: {
// 产物输出目录
dir: path.resolve(__dirname, 'dist'),
// 以下三个配置项都可以使用这些占位符:
// 1. [name]: 去除文件后缀后的文件名
// 2. [hash]: 根据文件名和文件内容生成的 hash 值
// 3. [format]: 产物模块格式,如 es、cjs
// 4. [extname]: 产物后缀名(带`.`)
// 入口模块的输出文件名
entryFileNames: `[name].js`,
// 非入口模块(如动态 import)的输出文件名
chunkFileNames: 'chunk-[hash].js',
// 静态资源文件输出文件名
assetFileNames: 'assets/[name]-[hash][extname]',
// 产物输出格式,包括`amd`、`cjs`、`es`、`iife`、`umd`、`system`
format: 'cjs',
// 是否生成 sourcemap 文件
sourcemap: true,
// 如果是打包出 iife/umd 格式,需要对外暴露出一个全局变量,通过 name 配置变量名
name: 'MyBundle',
// 全局变量声明
globals: {
// 项目中可以直接用`$`代替`jquery`
jquery: '$'
}
}
```
- 依赖external
- 暂时不理解
- 接入插件的能力
-

View File

@ -1 +1,3 @@
- Socket通信系列
- Socket通信系列
- OpenGL 学习笔记
-

View File

@ -0,0 +1,3 @@
## `Detached`
出现问题的原因,在同步(fetch) 之后,使用 `merge` 同步失败,之后使用不知道怎么就出现了这个错误
解决方法:[Git HEAD detached from XXX (git HEAD 游离) 解决办法](https://blog.csdn.net/u011240877/article/details/76273335)fsafdsa

View File

@ -49,4 +49,4 @@
## 2024-04-24
- [[Android Hilt]]
- [[Android Hilt]]e e

View File

@ -0,0 +1,7 @@
## Rust 项目类型
- bin 可运行项目 (默认)
- lib 依赖库项目
Rust 项目运行
- cargo run
- cargo build(编译) + 执行编译的二进制可执行文件