Skip to content

Commit 64b2925

Browse files
committed
docs: init
1 parent 45a574f commit 64b2925

14 files changed

+10487
-6579
lines changed

.github/workflows/docs-deploy.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Docs Deploy
2+
on:
3+
push:
4+
branches: main
5+
pull_request:
6+
branches: main
7+
8+
jobs:
9+
deploy:
10+
name: Docs Deploy
11+
runs-on: ubuntu-latest
12+
13+
permissions:
14+
id-token: write # Needed for auth with Deno Deploy
15+
contents: read # Needed to clone the repository
16+
17+
steps:
18+
- name: Clone repository
19+
uses: actions/checkout@v4
20+
21+
- name: Install Deno
22+
uses: denoland/setup-deno@v1
23+
with:
24+
deno-version: v1.x
25+
26+
- name: Install Node.js
27+
uses: actions/setup-node@v4
28+
with:
29+
node-version: lts/*
30+
31+
- name: Install step
32+
run: "npm install"
33+
34+
- name: Build step
35+
run: "npm run docs:build"
36+
37+
- name: Upload to Deno Deploy
38+
uses: denoland/deployctl@v1
39+
with:
40+
project: "rzpack"
41+
entrypoint: "https://deno.land/std/http/file_server.ts"
42+
root: "docs/.vitepress/dist"

.gitignore

+20
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,23 @@ package-lock.json
66
index.d.ts
77
.DS_Store
88
dist
9+
docs/.vitepress/cache/deps/_metadata.json
10+
docs/.vitepress/cache/deps/@theme_index.js
11+
docs/.vitepress/cache/deps/@theme_index.js.map
12+
docs/.vitepress/cache/deps/chunk-HWKKPLDN.js
13+
docs/.vitepress/cache/deps/chunk-HWKKPLDN.js.map
14+
docs/.vitepress/cache/deps/chunk-VDV77W7A.js
15+
docs/.vitepress/cache/deps/chunk-VDV77W7A.js.map
16+
docs/.vitepress/cache/deps/package.json
17+
docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js
18+
docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map
19+
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
20+
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map
21+
docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js
22+
docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map
23+
docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js
24+
docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map
25+
docs/.vitepress/cache/deps/vitepress___minisearch.js
26+
docs/.vitepress/cache/deps/vitepress___minisearch.js.map
27+
docs/.vitepress/cache/deps/vue.js
28+
docs/.vitepress/cache/deps/vue.js.map

docs/.vitepress/config.ts

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
import { defineConfig } from 'vitepress'
2+
import pkg from '../../packages/rzpack/package.json'
3+
4+
export default defineConfig({
5+
title: 'rzpack',
6+
description: '一款基于Webpack5开发的React打包工具',
7+
lastUpdated: true,
8+
metaChunk: true,
9+
rewrites: {
10+
'pages/guide/getting-started.md': 'index.md',
11+
'pages/features.md': 'features.md',
12+
'pages/problems.md': 'problems.md',
13+
'pages/configs.md': 'configs.md',
14+
'pages/:category/:page.md': ':category/:page.md',
15+
},
16+
head: [['link', { rel: 'icon', type: 'image/png', href: '/logo.png' }]],
17+
themeConfig: {
18+
logo: {
19+
src: '/logo.png',
20+
style: 'border-radius: 50%;height: 32px;width: 32px;',
21+
},
22+
siteTitle: 'rzpack',
23+
search: {
24+
provider: 'local',
25+
options: {
26+
translations: {
27+
button: {
28+
buttonText: '搜索文档',
29+
buttonAriaLabel: '搜索文档',
30+
},
31+
modal: {
32+
noResultsText: '无法找到相关结果',
33+
resetButtonTitle: '清除查询条件',
34+
footer: {
35+
selectText: '选择',
36+
navigateText: '切换',
37+
},
38+
},
39+
},
40+
},
41+
},
42+
nav: [
43+
{
44+
text: pkg.version,
45+
link: '/',
46+
},
47+
],
48+
socialLinks: [
49+
{ icon: 'github', link: 'https://github.com/renzp94/rzpack' },
50+
],
51+
sidebar: [
52+
{
53+
text: '简介',
54+
items: [
55+
{ text: '什么是rzpack?', link: '/guide/what-is' },
56+
{ text: '快速开始', link: '/' },
57+
{ text: '命令行界面', link: '/guide/cli' },
58+
{ text: '项目结构', link: '/guide/project-structure' },
59+
],
60+
},
61+
{
62+
text: '功能',
63+
link: '/features',
64+
},
65+
{
66+
text: '配置',
67+
link: '/configs',
68+
},
69+
{
70+
text: '常见问题',
71+
link: '/problems',
72+
},
73+
],
74+
editLink: {
75+
pattern: 'https://github.com/renzp94/rzpack/edit/main/docs/:path',
76+
text: '在 GitHub 上编辑此页面',
77+
},
78+
lastUpdated: {
79+
text: '最后更新于',
80+
formatOptions: {
81+
dateStyle: 'short',
82+
timeStyle: 'medium',
83+
},
84+
},
85+
docFooter: {
86+
prev: '上一页',
87+
next: '下一页',
88+
},
89+
outline: {
90+
label: '页面导航',
91+
},
92+
},
93+
})

docs/package.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"type": "module"
3+
}

docs/pages/configs.md

+207
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# 配置
2+
3+
## antdTheme 主题配置
4+
5+
- 类型:`LessVars`
6+
7+
```ts
8+
export interface LessVars {
9+
// 全局变量(直接定义的变量优先级高于变量文件)
10+
vars?: Record<string, string>
11+
// 全局变量文件
12+
file?: string
13+
}
14+
```
15+
16+
设置`antd`主题变量,可通过`file`属性直接设置配置文件路径,配置文件中需要默认导出一个配置对象。也可通过`vars`直接设置变量。
17+
18+
```ts
19+
antdTheme: {
20+
file: './src/theme/index.ts',
21+
vars: {
22+
colorPrimary: 'blue',
23+
},
24+
}
25+
```
26+
27+
## lessVars 变量注入
28+
29+
- 类型:`LessVars`
30+
31+
```ts
32+
export interface LessVars {
33+
// 全局变量(直接定义的变量优先级高于变量文件)
34+
vars?: Record<string, string>
35+
// 全局变量文件
36+
file?: string
37+
}
38+
```
39+
40+
注入`less`全局变量,可通过`file`属性直接设置配置文件路径,配置文件中需要默认导出一个配置对象。也可通过`vars`直接设置变量。
41+
42+
```ts
43+
antdTheme: {
44+
file: './src/theme/globalVars.ts',
45+
vars: {
46+
testColor: 'red',
47+
},
48+
}
49+
```
50+
51+
## assets 资源处理
52+
53+
- 类型:`RzpackAssets`
54+
55+
```ts
56+
export interface RzpackAssets {
57+
// jsx编译处理器
58+
jsxTools?: JSX_TOOLS
59+
// 是否使用cssScoped(类似Vue的scoped功能)
60+
cssScoped?: boolean
61+
// 是否压缩图片
62+
imageMini?: boolean
63+
}
64+
```
65+
66+
配置资源文件处理方式
67+
68+
### jsxTools
69+
70+
- 类型:`JSX_TOOLS`
71+
- 默认:`JSX_TOOLS.ESBUILD`
72+
73+
```ts
74+
export enum JSX_TOOLS {
75+
ESBUILD = 'esbuild',
76+
SWC = 'swc',
77+
}
78+
```
79+
80+
`jsx`文件编译处理器。
81+
82+
### imageMini
83+
84+
- 类型:`boolean`
85+
86+
是否压缩图片。
87+
88+
> 注意:在打包过程中压缩图片,会拖慢打包速度,建议手动压缩。
89+
90+
## buildInfo 编译信息
91+
92+
- 类型:`boolean | BuildInfoWebpackPluginOptions`
93+
94+
是否在控制台打印编译信息。更多配置参考:[@renzp/build-info-webpack-plugin](https://github.com/renzp94/build-info-webpack-plugin)
95+
96+
## cache 缓存
97+
98+
- 类型:`boolean`
99+
- 默认 :`true`
100+
101+
是否使用webpack5缓存。
102+
103+
## entry 入口
104+
105+
- 类型:`string\|string[]\|Record<string, string>`
106+
- 默认 :`./src/main.tsx`
107+
108+
打包入口。
109+
110+
## gzip 压缩
111+
112+
- 类型:`boolean`
113+
114+
是否启用gzip。
115+
116+
## html
117+
118+
- 类型:`HtmlWebpackPlugin.Options`
119+
- 默认:`index.html`
120+
121+
htmlPlugin插件设置。配置参考: [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin)
122+
123+
## output 输出
124+
125+
- 类型:`Output`
126+
- 默认 :`dist`
127+
128+
输出目录。配置参考:[Output](https://webpack.js.org/concepts/#output)
129+
130+
## publicPath
131+
132+
- 类型:`string`
133+
- 默认 :`public`
134+
135+
静态资源目录。
136+
137+
## server 开发服务
138+
139+
- 类型:`WebpackDevServerConfiguration`
140+
141+
开发服务器配置,当开启可视化配置时此处配置的接口代理无效。配置参考:[dev-server](https://webpack.js.org/configuration/dev-server/)
142+
143+
## lazyCompilation 懒编译
144+
145+
- 类型:`LazyCompilationOptions`
146+
147+
懒编译。配置参考:[lazycompilation](https://webpack.js.org/configuration/experiments/#experimentslazycompilation)
148+
149+
## moduleFederation 模块联邦
150+
151+
- 类型:`ModuleFederationPluginOptions`
152+
153+
```ts
154+
export interface ModuleFederationShared {
155+
name: string
156+
requiredVersion: string
157+
}
158+
159+
export interface ModuleFederationSharedAuto {
160+
deps: string[]
161+
depsPackagePath: string
162+
}
163+
164+
export interface ModuleFederationPluginOptions {
165+
// 模块名称
166+
name: string
167+
// 模块导出名称
168+
filename?: string
169+
// 要共享的依赖
170+
shared?: ModuleFederationShared[] | ModuleFederationSharedAuto
171+
// 模块暴露的内容
172+
exposes?: boolean | Record<string, string>
173+
// 模块引入的内容
174+
remotes?: Record<string, string>
175+
}
176+
```
177+
178+
模块联邦。
179+
180+
## webpackChain 自定义配置
181+
182+
- 类型:`RzpackWebpackChain`
183+
184+
```ts
185+
export type RzpackWebpackChain = (w: WebpackChain) => WebpackChain
186+
```
187+
188+
使用webpackChain重写webpack配置。webpackChain用法参考:[webpackChain](https://github.com/neutrinojs/webpack-chain?tab=readme-ov-file)
189+
190+
## proxyFile
191+
192+
- 类型:`string`
193+
- 默认:`./proxy.config.json`
194+
195+
可视化配置的代理,仅在开启可视化配置时才生效。
196+
197+
## reactRefresh React热更新
198+
199+
- 类型:`string`
200+
201+
是否开启React代码热更新。
202+
203+
## million React性能优化
204+
205+
- 类型:`boolean\|MillionOptions`
206+
207+
是否使用Million.js。配置参考:[Million.js](https://million.dev/zh-CN)

0 commit comments

Comments
 (0)