cloudcc-cli 2.2.8 → 2.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cloudcc-cache.json +32 -1
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_CLASS.md +97 -0
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_SCHEDULE.md +78 -0
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_TRIGGER.md +137 -0
- package/.cursor/skills/cloudcc-cli-dev/CLI_CHEATSHEET.md +215 -0
- package/{cloudcc-cli-dev → .cursor/skills/cloudcc-cli-dev}/SKILL.md +7 -2
- package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_COMPONENT.md +151 -0
- package/README.md +11 -0
- package/bin/index.js +2 -0
- package/build/component-cc-test-001.common.js +831 -0
- package/build/component-cc-test-001.common.js.map +1 -0
- package/build/component-cc-test-001.css +1 -0
- package/build/component-cc-test-001.umd.js +874 -0
- package/build/component-cc-test-001.umd.js.map +1 -0
- package/build/component-cc-test-001.umd.min.js +8 -0
- package/build/component-cc-test-001.umd.min.js.map +1 -0
- package/build/demo.html +1 -0
- package/docs/CloudCC/350/207/252/345/256/232/344/271/211/347/273/204/344/273/266/344/275/277/347/224/250/350/257/264/346/230/216.md +130 -0
- package/docs/cloudcc/345/256/232/346/227/266/344/275/234/344/270/232.md +472 -0
- package/docs/cloudcc/345/256/232/346/227/266/347/261/273.md +302 -0
- package/docs//350/207/252/345/256/232/344/271/211/347/261/273.md +258 -0
- package/docs//350/247/246/345/217/221/345/231/250/347/261/273.md +404 -0
- package/package.json +1 -1
- package/plugins/cc-test-001/cc-test-001.vue +32 -0
- package/plugins/cc-test-001/components/HelloWorld.vue +11 -0
- package/plugins/cc-test-001/config.json +6 -0
- package/src/classes/index.js +1 -6
- package/src/plugin/delete.js +91 -0
- package/src/plugin/doc.js +76 -0
- package/src/plugin/index.js +1 -0
- package/src/triggers/doc.js +258 -222
- package/src/triggers/pullList.js +3 -0
- package/cloudcc-cli-dev/BACKEND_CODE.md +0 -114
- package/cloudcc-cli-dev/CLI_CHEATSHEET.md +0 -90
- package/cloudcc-cli-dev/VUE_CUSTOM_COMPONENT.md +0 -50
- /package/{cloudcc-cli-dev → .cursor/skills/cloudcc-cli-dev}/INSTALL_AND_BOOTSTRAP.md +0 -0
- /package/{cloudcc-cli-dev → .cursor/skills/cloudcc-cli-dev}/OBJECTS_AND_FIELDS.md +0 -0
- /package/{cloudcc-cli-dev → .cursor/skills/cloudcc-cli-dev}/REQUIREMENTS_BREAKDOWN.md +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
## 覆盖范围
|
|
2
|
+
|
|
3
|
+
本篇聚焦 CloudCC Vue2.x 自定义组件(Custom Component):
|
|
4
|
+
|
|
5
|
+
- 创建组件骨架
|
|
6
|
+
- 编辑与最佳实践入口
|
|
7
|
+
- 编译与发布到服务器
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 创建自定义组件
|
|
12
|
+
|
|
13
|
+
### CLI 命令
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# 创建组件必须使用这个命令,在项目根目录执行(会生成到 plugins/<pluginName>/)
|
|
17
|
+
cc create plugin <pluginName>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
创建完成后通常会生成以下结构(以 `create1` 的骨架为准):
|
|
21
|
+
|
|
22
|
+
- `plugins/<pluginName>/<pluginName>.vue`:组件入口文件(包含
|
|
23
|
+
`componentInfo`,并默认引入一个 `HelloWorld` 子组件)
|
|
24
|
+
- `plugins/<pluginName>/components/HelloWorld.vue`:示例子组件
|
|
25
|
+
- `plugins/<pluginName>/config.json`:组件元数据(至少包含 `component` /
|
|
26
|
+
`compName` / `compDesc`)
|
|
27
|
+
|
|
28
|
+
> 组件入口文件里的 `componentInfo.component`
|
|
29
|
+
> 需要全局唯一(用于平台识别/装载组件)。
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 发布组件
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cc publish plugin <pluginName>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
> 发布会执行编译/打包/上传;如果组件依赖复杂,注意依赖收集与发布策略。
|
|
40
|
+
|
|
41
|
+
### 打包/注册策略(publish1:v1 / v2)
|
|
42
|
+
|
|
43
|
+
`publish1` 支持两种打包/注册方式,会根据组件里的 `componentInfo.buildVersion`
|
|
44
|
+
选择:
|
|
45
|
+
|
|
46
|
+
- 默认(v1,`buildVersion` 不写或不等于 `"v2"`)
|
|
47
|
+
- 使用 `vue-custom-element` 将组件注册为 Web Component/custom element
|
|
48
|
+
- 注册名来自 `componentInfo.component`
|
|
49
|
+
- v2(设置 `componentInfo.buildVersion = "v2"`)
|
|
50
|
+
- 使用 `Vue.component` 的方式注册组件
|
|
51
|
+
|
|
52
|
+
示例(在组件入口 `.vue` 的 `data()` 里配置):
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
componentInfo: {
|
|
56
|
+
component: "component-<pluginName>",
|
|
57
|
+
compName: "compName-<pluginName>",
|
|
58
|
+
compDesc: "Component description information",
|
|
59
|
+
// 选填:不填默认 v1;填 "v2" 则走 Vue.component 注册
|
|
60
|
+
buildVersion: "v2"
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 加载模式(loadModel:lazy / start)
|
|
65
|
+
|
|
66
|
+
`publish1` 会读取 `componentInfo.loadModel` 来决定组件加载时机:
|
|
67
|
+
|
|
68
|
+
- `lazy`:默认,进入对应页面/区域后再加载
|
|
69
|
+
- `start`:启动加载,在应用启动时即加载
|
|
70
|
+
|
|
71
|
+
你可以在 `componentInfo` 中按需设置,例如:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
componentInfo: {
|
|
75
|
+
// ...
|
|
76
|
+
loadModel: "start";
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
## 同步(从云端拉取)
|
|
82
|
+
|
|
83
|
+
> “同步”在本仓库中对应 `pull`:把云端的自定义组件代码/配置拉到本地 `plugins/<pluginName>/`。
|
|
84
|
+
|
|
85
|
+
### CLI 命令
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 同步插件到本地(可传组件名或 id)
|
|
89
|
+
cc pull plugin <pluginNameOrId> [projectPath]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
说明:
|
|
93
|
+
|
|
94
|
+
- `projectPath` 可选;不传则默认当前工作目录。
|
|
95
|
+
- 传组件名时:如果本地 `plugins/<pluginName>/config.json` 存在 `id`,会用 `id` 拉取;否则会把入参当作 `id` 处理。
|
|
96
|
+
- 拉取后会生成/更新 `plugins/<归一化后的pluginName>/config.json` 与相关文件(包含依赖文件)。
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 删除组件(云端)
|
|
100
|
+
|
|
101
|
+
> 删除只影响**云端**记录,本地 `plugins/<pluginName>/` 目录不会被删除。
|
|
102
|
+
|
|
103
|
+
### CLI 命令
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# 传组件名(自动从本地 plugins/<pluginName>/config.json 读取 id)
|
|
107
|
+
cc delete plugin <pluginName> [projectPath]
|
|
108
|
+
|
|
109
|
+
# 直接传云端 ID
|
|
110
|
+
cc delete plugin <pluginId> [projectPath]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
说明:
|
|
114
|
+
|
|
115
|
+
- 传组件名时:如果本地 `plugins/<pluginName>/config.json` 存在 `id`,会用 `id`
|
|
116
|
+
删除;否则把入参当作 `id` 直接请求。
|
|
117
|
+
- `projectPath` 可选,不传则默认当前工作目录。
|
|
118
|
+
- 删除成功后控制台会打印 `Success! Plugin (ID: xxx) deleted from server.`
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
## 批量拉取
|
|
122
|
+
|
|
123
|
+
> 当前仓库没有直接提供 `cc pullList plugin ...` 这种“内置批量拉取”命令。
|
|
124
|
+
|
|
125
|
+
推荐方式:先用 `get plugin` 获取线上列表(包含 `id`),再用循环批量执行 `pull plugin <id>`。
|
|
126
|
+
|
|
127
|
+
### 步骤 1:获取线上列表
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
cc get plugin <projectPath>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 步骤 2:循环拉取(示例)
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# 批量拉取前 N 个线上组件(示例 N=5)
|
|
137
|
+
N=5
|
|
138
|
+
ids=$(cc get plugin . | node -e "const a=JSON.parse(require('fs').readFileSync(0,'utf8')); console.log(a.slice(0,${N}).map(x=>x.id).filter(Boolean).join(' '))")
|
|
139
|
+
for id in $ids; do
|
|
140
|
+
cc pull plugin "$id" .
|
|
141
|
+
done
|
|
142
|
+
```
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 编辑要点(CLI 项目约束)
|
|
146
|
+
|
|
147
|
+
- 组件目录通常为 `plugins/<pluginName>/`
|
|
148
|
+
- 确保所有 `<style>` 标签带 `scoped`,避免全局样式污染
|
|
149
|
+
- 发布通过 `cc publish plugin <pluginName>` 执行编译与上传
|
|
150
|
+
|
|
151
|
+
---
|
package/README.md
CHANGED
|
@@ -22,6 +22,17 @@ sudo npm i -g cloudcc-cli
|
|
|
22
22
|
}
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
# ReleaseV2.2.9
|
|
26
|
+
|
|
27
|
+
#### Release Date: 2026-3-25
|
|
28
|
+
|
|
29
|
+
#### Release Scope: Full
|
|
30
|
+
|
|
31
|
+
#### Release Content
|
|
32
|
+
|
|
33
|
+
- Optimization
|
|
34
|
+
- 添加删除组件命令
|
|
35
|
+
|
|
25
36
|
# ReleaseV2.2.8
|
|
26
37
|
|
|
27
38
|
#### Release Date: 2026-3-24
|