ESBuild 添加
parent
aca795d76b
commit
88c2bd4dd5
|
|
@ -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",
|
||||
"文档编写"
|
||||
]
|
||||
}
|
||||
|
|
@ -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` 钩子函数
|
||||
用在模块内容加载过程中时
|
||||
|
|
@ -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
|
||||
- 暂时不理解
|
||||
- 接入插件的能力
|
||||
-
|
||||
|
|
@ -1 +1,3 @@
|
|||
- Socket通信系列
|
||||
- OpenGL 学习笔记
|
||||
-
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
## `Detached`
|
||||
出现问题的原因,在同步(fetch) 之后,使用 `merge` 同步失败,之后使用不知道怎么就出现了这个错误
|
||||
解决方法:[Git HEAD detached from XXX (git HEAD 游离) 解决办法](https://blog.csdn.net/u011240877/article/details/76273335)fsafdsa
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
## Rust 项目类型
|
||||
- bin 可运行项目 (默认)
|
||||
- lib 依赖库项目
|
||||
|
||||
Rust 项目运行
|
||||
- cargo run
|
||||
- cargo build(编译) + 执行编译的二进制可执行文件
|
||||
Loading…
Reference in New Issue