Skip to content

Commit fc11cfa

Browse files
committed
feat(拼接模式): finish update
1 parent 1ac811d commit fc11cfa

File tree

9 files changed

+134
-113
lines changed

9 files changed

+134
-113
lines changed

packages/拼接模式/article.md

Lines changed: 109 additions & 88 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile host="Electron" modified="2023-04-30T08:43:13.172Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="VfXJ6wplDTJB4QVVSlu8" version="14.6.13" type="device"><diagram id="smxkf3WdtkahfNl1DTkC" name="第 1 页">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</diagram></mxfile>
1+
<mxfile host="Electron" modified="2023-05-10T05:51:18.032Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PX0INBHTXK85QLJoZlZr" version="14.6.13" type="device"><diagram id="smxkf3WdtkahfNl1DTkC" name="第 1 页">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</diagram></mxfile>

拼接模式抽象代码/chunk_handler_abstract/src/Main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ type target = any
66

77
export declare function buildTarget(handleConfigFuncs, parsedConfig: config, targetChunk, someConfigData): target
88

9-
type runtimeConfig = any
9+
type runtimeMetadata = any
1010

11-
export declare function getRuntimeConfig(addRuntimeConfigFuncs, target: target): runtimeConfig
11+
export declare function buildRuntimeMetadata(addRuntimeMetadataFuncs, target: target): runtimeMetadata
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
// use json loader to load target config
1+
// use webpack's json loader to load target config
22
import * as targetsConfigJson from "./target_config/targets_config.json"
33
import * as chunksConfigJson from "./target_config/chunks_config.json"
44

5-
import { parseConfig, createState, init, operateWhenRuntime } from "splice_pattern_system_abstract/src/System"
5+
import * as System from "splice_pattern_system_abstract/src/System"
66

7-
let parsedConfig = parseConfig(targetsConfigJson, chunksConfigJson)
7+
let parsedConfig = System.parseConfig(targetsConfigJson, chunksConfigJson)
88

9-
let state = createState(parsedConfig)
9+
let state = System.createState(parsedConfig)
1010

1111
declare let someConfigData
12-
state = init(state, someConfigData)
12+
state = System.init(state, someConfigData)
1313

14-
state = operateWhenRuntime(state)
14+
state = System.operateWhenRuntime(state)

拼接模式抽象代码/client_abstract/src/target_config/chunks_config.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
"target chunk": [
55
{
66
"type": "xxx",
7-
"name": "target chunk's filename"
7+
"name": "target chunk's filename(e.g. target_chunk1)"
88
},
99
...
1010
],
11-
"runtime config": {
12-
"runtime data1 config": [
11+
"runtime metadata config": {
12+
"runtime metadata1 config": [
1313
{
1414
xxx
1515
},

拼接模式抽象代码/client_abstract/src/target_config/targets_config.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"static_branchs": [
33
{
4-
"name": "xxx",
4+
"name": "static branch name",
55
"value": [
66
"chunk name for condition1",
77
"chunk name for condition2",
@@ -12,7 +12,7 @@
1212
],
1313
"dynamic_branchs": [
1414
{
15-
"name": "xxx",
15+
"name": "dynamic branch name",
1616
"condition": "xxx",
1717
"pass": "chunk name when condition pass",
1818
"fail": "chunk name when condition fail"
@@ -21,7 +21,7 @@
2121
],
2222
"groups": [
2323
{
24-
"name": "xxx",
24+
"name": "group name",
2525
"value": [
2626
"chunk name",
2727
"chunk name",
@@ -35,8 +35,8 @@
3535
"name": "target1",
3636
"target_chunks": [
3737
{
38-
"type": "static_branch | dynamic_branch | group",
39-
"name": "xxx"
38+
"type": "static_branch || dynamic_branch || group",
39+
"name": "static branch name || dynamic branch name || group name"
4040
},
4141
{
4242
"name": "chunk name"

拼接模式抽象代码/splice_pattern_system_abstract/src/System.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getData } from "./target_chunks/ConverterdChunk"
44

55
declare function _handleConfigFunc1(state: state, someConfigData): any
66

7-
declare function _addRuntimeConfigFunc1(someRuntimeConfigFromState, someConfigData): any
7+
declare function _addRuntimeMetadataFunc1(someRuntimeMetadataFromState, someConfigData): any
88

99
export let parseConfig = ChunkHandler.parseConfig
1010

@@ -28,21 +28,21 @@ export let init = (state: state, someConfigData): state => {
2828

2929
console.log("使用target...")
3030

31-
let runtimeConfig = ChunkHandler.getRuntimeConfig(
32-
[_addRuntimeConfigFunc1, ... ],
31+
let runtimeMetadata = ChunkHandler.buildRuntimeMetadata(
32+
[_addRuntimeMetadataFunc1, ... ],
3333

3434
target
3535
)
3636

3737
return {
3838
...state,
3939
target: target,
40-
runtimeConfig: runtimeConfig
40+
runtimeMetadata: runtimeMetadata
4141
}
4242
}
4343

4444
export let operateWhenRuntime = (state: state): state => {
45-
console.log("使用state.runtimeConfig...")
45+
console.log("使用state.runtimeMetadata...")
4646

4747
return state
4848
}

拼接模式抽象代码/splice_pattern_system_abstract/src/SystemStateType.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export type state = {
66
chunk: Record<chunkName, chunk>,
77

88
target:any,
9-
runtimeConfig:any,
9+
runtimeMetadata:any,
1010

1111
更多字段...
1212
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
@part1
2-
...
2+
区域1的数据
33
@end
44

55
@part2
6-
...
6+
区域2的数据
77
@end
88

99
...

0 commit comments

Comments
 (0)