ssr-plugin-react 6.2.17 → 6.2.21

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/CHANGELOG.md CHANGED
@@ -1,3 +1,147 @@
1
+ ## [6.2.21](https://github.com/zhangyuang/ssr/compare/v6.2.8...v6.2.21) (2022-05-31)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add build:publish disable sourcemap ([ef82b29](https://github.com/zhangyuang/ssr/commit/ef82b298ddf19b72b130d76c33bfbca67339b139))
7
+ * add prefix output to window.prefix in csr mode ([#197](https://github.com/zhangyuang/ssr/issues/197)) ([479bb3d](https://github.com/zhangyuang/ssr/commit/479bb3df67d7da5635939a4219b5f5f9a40b5508))
8
+ * build html ([83be7be](https://github.com/zhangyuang/ssr/commit/83be7be185985a5dcbb9b8e846a5e2b14b94c1b0))
9
+ * build html ([59a8d7f](https://github.com/zhangyuang/ssr/commit/59a8d7f31bed703601e753d02db49ea5a0f93054))
10
+ * ci ([57e713f](https://github.com/zhangyuang/ssr/commit/57e713f1f96b4ceb893837c15c6032b23a0b1a4c))
11
+ * don't throw error when load module failed ([2e5d077](https://github.com/zhangyuang/ssr/commit/2e5d077848dc10998a04fcccccc7c745c0d1bea7))
12
+ * fix config htmlTemplate read ([#191](https://github.com/zhangyuang/ssr/issues/191)) ([8c3e12b](https://github.com/zhangyuang/ssr/commit/8c3e12b6adb64b7898bc6232d980e72c5353026b))
13
+ * lock babel-plugin-import ([72c3041](https://github.com/zhangyuang/ssr/commit/72c3041bf61a1fc9b7593df1fdb6c4dc850c6bbd))
14
+ * plugin-react without dynamic mode ([487cc84](https://github.com/zhangyuang/ssr/commit/487cc84188640aab13c27214df758da0d19e4368))
15
+ * postinstall ([fef24ba](https://github.com/zhangyuang/ssr/commit/fef24bada3498f162efd0bdd09921503e44ad21a))
16
+ * postinstall get correct path ([b3d1951](https://github.com/zhangyuang/ssr/commit/b3d1951b7537c5954fd040797fc0011a1d4439d7))
17
+ * update preinstall ([2b4b869](https://github.com/zhangyuang/ssr/commit/2b4b869c28b83b414bef10260e5561bc3773cea9))
18
+ * vite mode config.base ([c64aa1a](https://github.com/zhangyuang/ssr/commit/c64aa1ab9d88cdfd7df1cce6feb43b191847e666))
19
+ * **vite:** vite config base use publicPath first in client ([#192](https://github.com/zhangyuang/ssr/issues/192)) ([ef5b145](https://github.com/zhangyuang/ssr/commit/ef5b1451850441b0748727d09144e6e671f71208))
20
+ * vue3 package.json ([c49fb14](https://github.com/zhangyuang/ssr/commit/c49fb146fc6ba79ffbeee567e334b560ffecbcac))
21
+ * whitList concat userconfig ([fdd971a](https://github.com/zhangyuang/ssr/commit/fdd971ab11aebc0f348d789e758183b877e791af))
22
+ * whitList concat userconfig ([e2328f8](https://github.com/zhangyuang/ssr/commit/e2328f87f5cfc18c9a30867e4f6e18d0df5c1ba3))
23
+
24
+
25
+ ### Features
26
+
27
+ * optimize code remove disableClientRender fix vite ([eeff477](https://github.com/zhangyuang/ssr/commit/eeff4770f8d9ff400289cf4d1ca4dd32883be108))
28
+ * add .vue to defaultWhiteList ([dbabfa2](https://github.com/zhangyuang/ssr/commit/dbabfa2864ec0a5487aadc31286da5630a8603fc))
29
+ * add `turbo` ([#196](https://github.com/zhangyuang/ssr/issues/196)) ([2be17bb](https://github.com/zhangyuang/ssr/commit/2be17bba5d80610b97b3813b3d4fe9579f88e5c3))
30
+ * add ssr-common-utils ([c12a283](https://github.com/zhangyuang/ssr/commit/c12a283e0133285402f4af5cd0346b84f2aaf098))
31
+ * add ssr-serialize-javascript code optimize ([41bb14d](https://github.com/zhangyuang/ssr/commit/41bb14d31efd89d4a85d5220544d2f7a3883e1a3))
32
+ * babelExtraModule support vue ([06251e7](https://github.com/zhangyuang/ssr/commit/06251e716678e1f882f06f68f72c518a341de0d7))
33
+ * babelExtraModule support vue ([513073d](https://github.com/zhangyuang/ssr/commit/513073ddcecbb728d34eae233686a93d63355e00))
34
+ * optimize customescript ([f374760](https://github.com/zhangyuang/ssr/commit/f3747608d4684576875968394eca6315e2fa8dd1))
35
+ * plugin-midway remove luckyeye ([bb4b11f](https://github.com/zhangyuang/ssr/commit/bb4b11f289d060c8b332cf610bb6d8c4cf25142b))
36
+ * plugin-react add react-refresh, remove module.hot ([7bee211](https://github.com/zhangyuang/ssr/commit/7bee211ddfefaef688713f505756e1155320b844))
37
+ * render add generic function overloading ([f03897f](https://github.com/zhangyuang/ssr/commit/f03897f07844d8fd5f9d2cf3eeef1a726da794bf))
38
+ * support htmlTemplate ([b240811](https://github.com/zhangyuang/ssr/commit/b2408114a6314ef4f96f4c06159d18fc6d881a57))
39
+ * support props.ssrApp in vue3 ([8985037](https://github.com/zhangyuang/ssr/commit/898503753cbe69187d27f91c70dff3f4cd4a0b2a))
40
+ * support wasm in webpack, lock postcss-preset-env version ([8ad50a4](https://github.com/zhangyuang/ssr/commit/8ad50a41227a8eb5395c955e5deeda7eb56036b0))
41
+ * update chainBaseConfig ([51c1fbe](https://github.com/zhangyuang/ssr/commit/51c1fbe5a645d4701c7ebc035083096d50301891))
42
+ * update extraJsOrder extraCssOrder ([cd5ca99](https://github.com/zhangyuang/ssr/commit/cd5ca99a686ea565020500a6c4f77e310b422ce3))
43
+ * update midway deploy ([a473c59](https://github.com/zhangyuang/ssr/commit/a473c599657df42b4bf7a59f248b3c7c33907657))
44
+ * update plugin-vue3 support call pinia in fetch.ts ([958fdc7](https://github.com/zhangyuang/ssr/commit/958fdc787ab615593f3114a6bf2c6cea4823afc2))
45
+ * update ssr-common-utils ([c7cadc1](https://github.com/zhangyuang/ssr/commit/c7cadc14922383f8fdaa6c76b4dbe9c220d0ac72))
46
+ * update turbo ([9ee14f5](https://github.com/zhangyuang/ssr/commit/9ee14f59359187e35f4ef990998846ac3847347b))
47
+ * update vite config ([0596573](https://github.com/zhangyuang/ssr/commit/05965738898d96d53dedbd41746b8100dcc5653b))
48
+ * upgrade midway example to v3 ([572f7c5](https://github.com/zhangyuang/ssr/commit/572f7c5d171346cc17f5f6cdebe33aee76e0c146))
49
+ * upgrade vue-router^2 to vue-router^3 ([283ed9e](https://github.com/zhangyuang/ssr/commit/283ed9ec4f6d8a622bcc3599ca33f9b0885ed3e5))
50
+ * use pnpm replace yarn workspace and lerna ([#186](https://github.com/zhangyuang/ssr/issues/186)) ([d578506](https://github.com/zhangyuang/ssr/commit/d578506160712847c1dd021b7759c7e9ff3c03e8))
51
+ * use terser minify plugin-react server bundle ([0a3c7fe](https://github.com/zhangyuang/ssr/commit/0a3c7fe61908fe24bcb2d8c6394daf2afd18ba82))
52
+ * vue3 support pinia, replace props.fetchData to props.reactiveFetchData in vue2/3 ([eabcb50](https://github.com/zhangyuang/ssr/commit/eabcb50729517b7cb649729d52356a06a010a8fc))
53
+
54
+
55
+
56
+ ## [6.2.20](https://github.com/zhangyuang/ssr/compare/v6.2.8...v6.2.20) (2022-05-31)
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * add build:publish disable sourcemap ([ef82b29](https://github.com/zhangyuang/ssr/commit/ef82b298ddf19b72b130d76c33bfbca67339b139))
62
+ * add prefix output to window.prefix in csr mode ([#197](https://github.com/zhangyuang/ssr/issues/197)) ([479bb3d](https://github.com/zhangyuang/ssr/commit/479bb3df67d7da5635939a4219b5f5f9a40b5508))
63
+ * build html ([83be7be](https://github.com/zhangyuang/ssr/commit/83be7be185985a5dcbb9b8e846a5e2b14b94c1b0))
64
+ * build html ([59a8d7f](https://github.com/zhangyuang/ssr/commit/59a8d7f31bed703601e753d02db49ea5a0f93054))
65
+ * ci ([57e713f](https://github.com/zhangyuang/ssr/commit/57e713f1f96b4ceb893837c15c6032b23a0b1a4c))
66
+ * don't throw error when load module failed ([2e5d077](https://github.com/zhangyuang/ssr/commit/2e5d077848dc10998a04fcccccc7c745c0d1bea7))
67
+ * fix config htmlTemplate read ([#191](https://github.com/zhangyuang/ssr/issues/191)) ([8c3e12b](https://github.com/zhangyuang/ssr/commit/8c3e12b6adb64b7898bc6232d980e72c5353026b))
68
+ * lock babel-plugin-import ([72c3041](https://github.com/zhangyuang/ssr/commit/72c3041bf61a1fc9b7593df1fdb6c4dc850c6bbd))
69
+ * plugin-react without dynamic mode ([487cc84](https://github.com/zhangyuang/ssr/commit/487cc84188640aab13c27214df758da0d19e4368))
70
+ * postinstall ([fef24ba](https://github.com/zhangyuang/ssr/commit/fef24bada3498f162efd0bdd09921503e44ad21a))
71
+ * postinstall get correct path ([b3d1951](https://github.com/zhangyuang/ssr/commit/b3d1951b7537c5954fd040797fc0011a1d4439d7))
72
+ * update preinstall ([2b4b869](https://github.com/zhangyuang/ssr/commit/2b4b869c28b83b414bef10260e5561bc3773cea9))
73
+ * vite mode config.base ([c64aa1a](https://github.com/zhangyuang/ssr/commit/c64aa1ab9d88cdfd7df1cce6feb43b191847e666))
74
+ * **vite:** vite config base use publicPath first in client ([#192](https://github.com/zhangyuang/ssr/issues/192)) ([ef5b145](https://github.com/zhangyuang/ssr/commit/ef5b1451850441b0748727d09144e6e671f71208))
75
+ * vue3 package.json ([c49fb14](https://github.com/zhangyuang/ssr/commit/c49fb146fc6ba79ffbeee567e334b560ffecbcac))
76
+ * whitList concat userconfig ([fdd971a](https://github.com/zhangyuang/ssr/commit/fdd971ab11aebc0f348d789e758183b877e791af))
77
+ * whitList concat userconfig ([e2328f8](https://github.com/zhangyuang/ssr/commit/e2328f87f5cfc18c9a30867e4f6e18d0df5c1ba3))
78
+
79
+
80
+ ### Features
81
+
82
+ * optimize code remove disableClientRender fix vite ([eeff477](https://github.com/zhangyuang/ssr/commit/eeff4770f8d9ff400289cf4d1ca4dd32883be108))
83
+ * add .vue to defaultWhiteList ([dbabfa2](https://github.com/zhangyuang/ssr/commit/dbabfa2864ec0a5487aadc31286da5630a8603fc))
84
+ * add `turbo` ([#196](https://github.com/zhangyuang/ssr/issues/196)) ([2be17bb](https://github.com/zhangyuang/ssr/commit/2be17bba5d80610b97b3813b3d4fe9579f88e5c3))
85
+ * add ssr-common-utils ([c12a283](https://github.com/zhangyuang/ssr/commit/c12a283e0133285402f4af5cd0346b84f2aaf098))
86
+ * add ssr-serialize-javascript code optimize ([41bb14d](https://github.com/zhangyuang/ssr/commit/41bb14d31efd89d4a85d5220544d2f7a3883e1a3))
87
+ * babelExtraModule support vue ([06251e7](https://github.com/zhangyuang/ssr/commit/06251e716678e1f882f06f68f72c518a341de0d7))
88
+ * babelExtraModule support vue ([513073d](https://github.com/zhangyuang/ssr/commit/513073ddcecbb728d34eae233686a93d63355e00))
89
+ * optimize customescript ([f374760](https://github.com/zhangyuang/ssr/commit/f3747608d4684576875968394eca6315e2fa8dd1))
90
+ * plugin-midway remove luckyeye ([bb4b11f](https://github.com/zhangyuang/ssr/commit/bb4b11f289d060c8b332cf610bb6d8c4cf25142b))
91
+ * plugin-react add react-refresh, remove module.hot ([7bee211](https://github.com/zhangyuang/ssr/commit/7bee211ddfefaef688713f505756e1155320b844))
92
+ * render add generic function overloading ([f03897f](https://github.com/zhangyuang/ssr/commit/f03897f07844d8fd5f9d2cf3eeef1a726da794bf))
93
+ * support htmlTemplate ([b240811](https://github.com/zhangyuang/ssr/commit/b2408114a6314ef4f96f4c06159d18fc6d881a57))
94
+ * support props.ssrApp in vue3 ([8985037](https://github.com/zhangyuang/ssr/commit/898503753cbe69187d27f91c70dff3f4cd4a0b2a))
95
+ * support wasm in webpack, lock postcss-preset-env version ([8ad50a4](https://github.com/zhangyuang/ssr/commit/8ad50a41227a8eb5395c955e5deeda7eb56036b0))
96
+ * update chainBaseConfig ([51c1fbe](https://github.com/zhangyuang/ssr/commit/51c1fbe5a645d4701c7ebc035083096d50301891))
97
+ * update extraJsOrder extraCssOrder ([cd5ca99](https://github.com/zhangyuang/ssr/commit/cd5ca99a686ea565020500a6c4f77e310b422ce3))
98
+ * update midway deploy ([a473c59](https://github.com/zhangyuang/ssr/commit/a473c599657df42b4bf7a59f248b3c7c33907657))
99
+ * update plugin-vue3 support call pinia in fetch.ts ([958fdc7](https://github.com/zhangyuang/ssr/commit/958fdc787ab615593f3114a6bf2c6cea4823afc2))
100
+ * update ssr-common-utils ([c7cadc1](https://github.com/zhangyuang/ssr/commit/c7cadc14922383f8fdaa6c76b4dbe9c220d0ac72))
101
+ * update turbo ([9ee14f5](https://github.com/zhangyuang/ssr/commit/9ee14f59359187e35f4ef990998846ac3847347b))
102
+ * update vite config ([0596573](https://github.com/zhangyuang/ssr/commit/05965738898d96d53dedbd41746b8100dcc5653b))
103
+ * upgrade midway example to v3 ([572f7c5](https://github.com/zhangyuang/ssr/commit/572f7c5d171346cc17f5f6cdebe33aee76e0c146))
104
+ * upgrade vue-router^2 to vue-router^3 ([283ed9e](https://github.com/zhangyuang/ssr/commit/283ed9ec4f6d8a622bcc3599ca33f9b0885ed3e5))
105
+ * use pnpm replace yarn workspace and lerna ([#186](https://github.com/zhangyuang/ssr/issues/186)) ([d578506](https://github.com/zhangyuang/ssr/commit/d578506160712847c1dd021b7759c7e9ff3c03e8))
106
+ * use terser minify plugin-react server bundle ([0a3c7fe](https://github.com/zhangyuang/ssr/commit/0a3c7fe61908fe24bcb2d8c6394daf2afd18ba82))
107
+ * vue3 support pinia, replace props.fetchData to props.reactiveFetchData in vue2/3 ([eabcb50](https://github.com/zhangyuang/ssr/commit/eabcb50729517b7cb649729d52356a06a010a8fc))
108
+
109
+
110
+
111
+ ## [6.2.19](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.18...plugin-react@6.2.19) (2022-05-26)
112
+
113
+
114
+ ### Features
115
+
116
+ * add ssr-common-utils ([c12a283](https://github.com/zhangyuang/ssr/commit/c12a283e0133285402f4af5cd0346b84f2aaf098))
117
+ * render add generic function overloading ([f03897f](https://github.com/zhangyuang/ssr/commit/f03897f07844d8fd5f9d2cf3eeef1a726da794bf))
118
+ * update chainBaseConfig ([51c1fbe](https://github.com/zhangyuang/ssr/commit/51c1fbe5a645d4701c7ebc035083096d50301891))
119
+ * update ssr-common-utils ([c7cadc1](https://github.com/zhangyuang/ssr/commit/c7cadc14922383f8fdaa6c76b4dbe9c220d0ac72))
120
+
121
+
122
+
123
+ ## [6.2.18](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.17...plugin-react@6.2.18) (2022-05-13)
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * add prefix output to window.prefix in csr mode ([#197](https://github.com/zhangyuang/ssr/issues/197)) ([479bb3d](https://github.com/zhangyuang/ssr/commit/479bb3df67d7da5635939a4219b5f5f9a40b5508))
129
+ * build html ([83be7be](https://github.com/zhangyuang/ssr/commit/83be7be185985a5dcbb9b8e846a5e2b14b94c1b0))
130
+ * build html ([59a8d7f](https://github.com/zhangyuang/ssr/commit/59a8d7f31bed703601e753d02db49ea5a0f93054))
131
+ * plugin-react without dynamic mode ([487cc84](https://github.com/zhangyuang/ssr/commit/487cc84188640aab13c27214df758da0d19e4368))
132
+
133
+
134
+ ### Features
135
+
136
+ * add .vue to defaultWhiteList ([dbabfa2](https://github.com/zhangyuang/ssr/commit/dbabfa2864ec0a5487aadc31286da5630a8603fc))
137
+ * add `turbo` ([#196](https://github.com/zhangyuang/ssr/issues/196)) ([2be17bb](https://github.com/zhangyuang/ssr/commit/2be17bba5d80610b97b3813b3d4fe9579f88e5c3))
138
+ * babelExtraModule support vue ([06251e7](https://github.com/zhangyuang/ssr/commit/06251e716678e1f882f06f68f72c518a341de0d7))
139
+ * babelExtraModule support vue ([513073d](https://github.com/zhangyuang/ssr/commit/513073ddcecbb728d34eae233686a93d63355e00))
140
+ * update turbo ([9ee14f5](https://github.com/zhangyuang/ssr/commit/9ee14f59359187e35f4ef990998846ac3847347b))
141
+ * use terser minify plugin-react server bundle ([0a3c7fe](https://github.com/zhangyuang/ssr/commit/0a3c7fe61908fe24bcb2d8c6394daf2afd18ba82))
142
+
143
+
144
+
1
145
  ## [6.2.17](https://github.com/zhangyuang/ssr/compare/plugin-react@6.2.16...plugin-react@6.2.17) (2022-05-05)
2
146
 
3
147
 
package/README.md CHANGED
@@ -51,31 +51,33 @@
51
51
  <td align="center"><a target="_blank" href="http://youku.com/"><img src="https://img.alicdn.com/tfs/TB17DTuXkH0gK0jSZPiXXavapXa-680-133.svg" width="120"/><br />
52
52
  <sub><b>优酷视频
53
53
  </b></td>
54
- <td align="center" style="width: 120px;"><a target="_blank" href="https://yulebao.alibaba.com/"><img src="https://gw.alicdn.com/tfs/TB1CmlIIFT7gK0jSZFpXXaTkpXa-190-46.png" width="120"/><br><sub><b>阿里影业娱乐宝
54
+ <td align="center" style="width: 120px;"><a target="_blank" href="#"><img src="https://wxa-shop-1258344707.cos.ap-shanghai.myqcloud.com/test/cdn/c8e49fda-d8ef-4332-a2c0-8c9e571883f5.jpeg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDtb4HEuJSLyJNCk11kCNHvIPGp8AvQfdK%26q-sign-time%3D1653378495%3B4294967040%26q-key-time%3D1653378495%3B4294967040%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D2d09dc5ceec264a030da16b747477adf0ae5b647
55
+ " width="120"/><br><sub><b>微信公众平台
55
56
  </b></sub></a></td>
57
+ <td align="center" style="height: 100px"><a href="#" target="_blank"><img src="https://res.wx.qq.com/op_res/wy4vvtyfqW8HjIfBKjba6TNEFBHuAApjJ1FjSQ37OVIdIYtylmiBm2ZeJ79SRtmT4IipU69bDNDw0Rrdnjd9yg
58
+ " width="200px;margin: 20px 0" /><br />
59
+ <a href="#" target="_bvlank"><b>腾讯体育
60
+ </b></a></td>
61
+ <td align="center" style="height: 100px"><a href="#" target="_blank"><img src="https://res.wx.qq.com/op_res/qc0sXfbvOvZFKVaDy9OLsqHfwHg6U4AemN2MP6YUxEo0EWpK6RyRcj70bIf3GEg5y_WA1wuv4HcfYi2FP7Awkw
62
+ " width="200px;margin: 20px 0" /><br />
63
+ <a href="#" target="_bvlank"><b>QQ会员
64
+ </b></a></td>
65
+ <td align="center" style="height: 100px"><a href="https://m.film.qq.com/x/tva-vip-center/" target="_blank"><img src="https://res.wx.qq.com/op_res/x7sWI9AfUK1QwH0EDhKp4e_bGWxYOQ_1RlZqBFy9JntJzaE4aRzNhVgmxLNloAFpSQ-mBr9X9pux3QlV9QHHvQ" width="200px;margin: 20px 0" /><br />
66
+ <a href="https://m.film.qq.com/x/tva-vip-center/" target="_bvlank"><b>腾讯视频
67
+ </b></a></td>
56
68
  <td align="center"><a href="https://www.niuniuda.com/mall" target="_blank"><img src="https://img.alicdn.com/tfs/TB1df_8pBr0gK0jSZFnXXbRRXXa-160-60.png" width="120" alt="牛牛搭"/><br />
57
69
  <a href="https://www.niuniuda.com/mall" target="_blank"><sub><b>牛牛搭
58
70
  </b></a></td>
59
71
  <td align="center"><a href="https://www.gszq.com/" target="_blank"><img src="https://www.gszq.com/static/media/icon-slogan.4d1c7974.png
60
- " width="120" alt="国盛证券"/><br />
72
+ " width="120"/><br />
61
73
  <a href="https://www.gszq.com/" target="_bvlank"><sub><b>国盛证券
62
74
  </b></a></td>
63
75
  <td align="center"><a href="https://m.isle.org.cn" target="_blank"><img src="https://res.wx.qq.com/op_res/qzBjcpT1AZDopDDkEJfj5gKFADotYHTgD33lz9xvZUIj7VJaIR_8HE4lfOxwaiYBgi4V2xXm0xLmAcdQxF4IrQ" width="120" alt="三易科技"/><br />
64
76
  <a href="https://m.isle.org.cn" target="_bvlank"><sub><b>三易科技
65
77
  </b></a></td>
66
- <td align="center"><a href="https://help.seewo.com/" target="_blank"><img src="https://img.alicdn.com/tfs/TB11Xo3q4v1gK0jSZFFXXb0sXXa-350-55.png" width="120" alt="cvte"/><br /><a href="https://help.seewo.com/" target="_blank"><sub><b>希沃帮助中心
67
- </b></a></td>
68
- <td align="center"><a href="https://wecard.qq.com/index/" target="_blank"><img src="https://img.alicdn.com/tfs/TB1pTZGrFT7gK0jSZFpXXaTkpXa-164-164.jpg" width="120" alt="腾讯微卡"/><br />
78
+ <td align="center"><a href="https://wecard.qq.com/index/" target="_blank"><img src="https://img.alicdn.com/tfs/TB1pTZGrFT7gK0jSZFpXXaTkpXa-164-164.jpg" width="120"/><br />
69
79
  <a href="https://wecard.qq.com/index/" target="_blank"><sub><b>腾讯微卡
70
80
  </b></a></td>
71
- <td align="center" style="height: 100px"><a href="https://www.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
72
- " width="200px;margin: 20px 0" alt="Happy"/><br />
73
- <a href="https://www.habisummercamp.com/" target="_bvlank"><b>HappyPC
74
- </b></a></td>
75
- <td align="center" style="height: 100px"><a href="https://m.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
76
- " width="200px;margin: 20px 0" alt="Happy"/><br />
77
- <a href="https://m.habisummercamp.com/" target="_bvlank"><b>HappyMobile
78
- </b></a></td>
79
81
  </tr>
80
82
  <tr>
81
83
  <td align="center"><a href="https://syzs.qq.com/" target="_blank"><img src="images/syzs.png" width="120" alt="腾讯手游助手"/><br />
@@ -88,12 +90,9 @@
88
90
  </b></sub></a></td>
89
91
  <td align="center"><a target="_blank" href="http://tx.ssr-fc.com/"><img src="http://s0.60logo.com/uploads/items/images/soft/180126/tengxunyun.svg" width="120"/><br><sub><b>部署于腾讯云示例应用
90
92
  </b></sub></a></td>
91
- <td align="center"><a href="https://www.100.com/" target="_blank"><img src="https://oss.bs2dl.100.com/hippo/config/f13ee98cfca7ce13888752c1261081b44bd356fd.png" width="120" alt="100教育"/><br />
93
+ <td align="center"><a href="https://www.100.com/" target="_blank"><img src="https://oss.bs2dl.100.com/hippo/config/f13ee98cfca7ce13888752c1261081b44bd356fd.png" width="120" /><br />
92
94
  <a href="https://www.100.com/" target="_bvlank"><sub><b>100教育
93
95
  </b></a></td>
94
- <td align="center" style="height: 100px"><a href="https://m.film.qq.com/x/tva-vip-center/" target="_blank"><img src="https://res.wx.qq.com/op_res/x7sWI9AfUK1QwH0EDhKp4e_bGWxYOQ_1RlZqBFy9JntJzaE4aRzNhVgmxLNloAFpSQ-mBr9X9pux3QlV9QHHvQ" width="200px;margin: 20px 0" alt="腾讯视频"/><br />
95
- <a href="https://m.film.qq.com/x/tva-vip-center/" target="_bvlank"><b>腾讯视频
96
- </b></a></td>
97
96
  <td align="center" style="height: 100px"><a href="https://blog.dreamer2q.wang/" target="_blank"><img src="https://res.wx.qq.com/op_res/MxxGgjPFRiTgjiReUefs2aMce-SgNvxxTB9U87YYhcOu6KPw9er7r2Lc0ne-b90nFstTUpc8REDwpxfUreKV1g" width="200px;margin: 20px 0" alt="Dream2qBlog"/><br />
98
97
  <a href="https://blog.dreamer2q.wang/" target="_bvlank"><b>个人博客
99
98
  </b></a></td>
@@ -105,18 +104,30 @@
105
104
  </b></a></td>
106
105
  </tr>
107
106
  <tr>
107
+ <td align="center" style="height: 100px"><a href="https://www.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
108
+ " width="200px;margin: 20px 0" alt="Happy"/><br />
109
+ <a href="https://www.habisummercamp.com/" target="_bvlank"><b>HappyPC
110
+ </b></a></td>
111
+ <td align="center" style="height: 100px"><a href="https://m.habisummercamp.com/" target="_blank"><img src="https://res.wx.qq.com/op_res/XXUpF56bDue53vZadoCSPSnqKF3bZqPOQnqsPa_ngEARa0OUIW22pX7eKsftPb6pc5ny62cR_wXM4g5xJ7G3DQ
112
+ " width="200px;margin: 20px 0" alt="Happy"/><br />
113
+ <a href="https://m.habisummercamp.com/" target="_bvlank"><b>HappyMobile
114
+ </b></a></td>
115
+ <td align="center" style="width: 120px;"><a target="_blank" href="https://yulebao.alibaba.com/"><img src="https://gw.alicdn.com/tfs/TB1CmlIIFT7gK0jSZFpXXaTkpXa-190-46.png" width="120"/><br><sub><b>阿里影业娱乐宝
116
+ </b></sub></a></td>
108
117
  <td align="center"><a target="_blank" href="https://campaign.vmate.com/vrbollywood"><img src="https://img.alicdn.com/tfs/TB17p6Vhbj1gK0jSZFOXXc7GpXa-512-512.png" width="120" alt="vmate 积分商城"/><br />
109
118
  <a target="_blank" href="https://job.alibaba.com/zhaopin/position_detail.htm?trace=qrcode_share&positionCode=GP524819"><sub><b>Vmate短视频
110
119
  </b></a></td>
111
120
  <td align="center"><a target="_blank" href="https://enjoysales.paat.com/"><img src="https://img.alicdn.com/tfs/TB1Ma0BiEY1gK0jSZFMXXaWcVXa-836-836.png" width="120" alt="火炽星原CRM"/><br />
112
121
  <a target="_blank" href="https://enjoysales.paat.com/"><sub><b>火炽星原CRM
113
122
  </b></a></td>
114
- <td align="center" style="height: 100px"><a href="https://www.paixin.com/" target="_blank"><img src="https://www.paixin.com/favicon.ico" width="200px;margin: 20px 0" alt="Happy"/><br />
123
+ <td align="center" style="height: 100px"><a href="https://www.paixin.com/" target="_blank"><img src="https://www.paixin.com/favicon.ico" width="200px;margin: 20px 0" /><br />
115
124
  <a href="https://www.paixin.com/" target="_bvlank"><b>拍信创意
116
125
  </b></a></td>
117
126
  <td align="center"><a href="https://www.66tools.com/" target="_blank"><img src="https://cdn.66tools.com/extension/chrome_qrcode_avatar.png" width="120" alt="极速二维码"/><br />
118
127
  <a href="https://www.66tools.com/" target="_bvlank"><sub><b>极速二维码
119
128
  </b></a></td>
129
+ <td align="center"><a href="https://help.seewo.com/" target="_blank"><img src="https://img.alicdn.com/tfs/TB11Xo3q4v1gK0jSZFFXXb0sXXa-350-55.png" width="120" alt="cvte"/><br /><a href="https://help.seewo.com/" target="_blank"><sub><b>希沃帮助中心
130
+ </b></a></td>
120
131
  </tr>
121
132
  </table>
122
133
 
@@ -82,8 +82,6 @@ const getBaseConfig = (chain, isServer) => {
82
82
  chain.module
83
83
  .rule('mjs')
84
84
  .test(/\.mjs/)
85
- .include
86
- .add(/node_modules/).end()
87
85
  .type('javascript/auto')
88
86
  .end();
89
87
  const module = chain.module
@@ -134,7 +132,7 @@ const getBaseConfig = (chain, isServer) => {
134
132
  ...(isServer ? define === null || define === void 0 ? void 0 : define.server : define === null || define === void 0 ? void 0 : define.client),
135
133
  ...define === null || define === void 0 ? void 0 : define.base
136
134
  }]);
137
- chainBaseConfig(chain);
135
+ chainBaseConfig(chain, isServer);
138
136
  return config;
139
137
  };
140
138
  exports.getBaseConfig = getBaseConfig;
@@ -1,4 +1,3 @@
1
- /// <reference types="webpack" />
2
1
  import * as WebpackChain from 'webpack-chain';
3
2
  declare const getClientWebpack: (chain: WebpackChain) => import("webpack").Configuration;
4
3
  export { getClientWebpack };
@@ -8,6 +8,7 @@ const base_1 = require("./base");
8
8
  const getServerWebpack = (chain) => {
9
9
  const config = (0, ssr_server_utils_1.loadConfig)();
10
10
  const { isDev, cwd, getOutput, chainServerConfig, whiteList, chunkName } = config;
11
+ const shouldUseSourceMap = isDev || Boolean(process.env.GENERATE_SOURCEMAP);
11
12
  (0, base_1.getBaseConfig)(chain, true);
12
13
  chain.devtool(isDev ? 'inline-source-map' : false);
13
14
  chain.target('node');
@@ -25,6 +26,18 @@ const getServerWebpack = (chain) => {
25
26
  // externals Dir contains example/xxx/node_modules ssr/node_modules
26
27
  modulesDir
27
28
  }));
29
+ if (!isDev) {
30
+ chain.optimization.minimizer('terser')
31
+ .use((0, ssr_server_utils_1.loadModuleFromFramework)('terser-webpack-plugin'), [{
32
+ terserOptions: {
33
+ keep_fnames: true
34
+ },
35
+ extractComments: false,
36
+ parallel: true,
37
+ cache: true,
38
+ sourceMap: shouldUseSourceMap
39
+ }]);
40
+ }
28
41
  chain.when(isDev, () => {
29
42
  chain.watch(true);
30
43
  });
@@ -14,7 +14,7 @@ const clientRender = async () => {
14
14
  return props.children;
15
15
  };
16
16
  // 客户端渲染||hydrate
17
- const baseName = window.microApp ? window.clientPrefix : window.prefix;
17
+ const baseName = (0, ssr_client_utils_1.isMicro)() ? window.clientPrefix : window.prefix;
18
18
  const routes = await (0, ssr_client_utils_1.preloadComponent)(FeRoutes, baseName);
19
19
  ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](React.createElement(react_router_dom_1.BrowserRouter, { basename: baseName },
20
20
  React.createElement(context_1.AppContext, null,
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IProps } from 'ssr-types-react';
3
2
  export declare function AppContext(props: IProps): JSX.Element;
4
3
  //# sourceMappingURL=context.d.ts.map
@@ -42,7 +42,7 @@ const serverRender = async (ctx, config) => {
42
42
  injectScript
43
43
  };
44
44
  const isCsr = !!(mode === 'csr' || ((_a = ctx.request.query) === null || _a === void 0 ? void 0 : _a.csr));
45
- const Component = isCsr ? React.Fragment : (await component()).default;
45
+ const Component = isCsr ? React.Fragment : (component.name === 'dynamicComponent' ? (await component()).default : component);
46
46
  if (isCsr) {
47
47
  (0, ssr_server_utils_1.logGreen)(`Current path ${path} use csr render mode`);
48
48
  }
@@ -63,7 +63,7 @@ const serverRender = async (ctx, config) => {
63
63
  }
64
64
  }
65
65
  const combineData = isCsr ? null : Object.assign(state !== null && state !== void 0 ? state : {}, layoutFetchData !== null && layoutFetchData !== void 0 ? layoutFetchData : {}, fetchData !== null && fetchData !== void 0 ? fetchData : {});
66
- const injectState = isCsr ? null : React.createElement("script", { dangerouslySetInnerHTML: {
66
+ const injectState = isCsr ? React.createElement("script", { dangerouslySetInnerHTML: { __html: `window.prefix="${prefix}"` } }) : React.createElement("script", { dangerouslySetInnerHTML: {
67
67
  __html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${(0, ssr_serialize_javascript_1.serialize)(combineData)}; window.prefix="${prefix}";${clientPrefix && `window.clientPrefix="${clientPrefix}"`}`
68
68
  } });
69
69
  return (React.createElement(react_router_dom_1.StaticRouter, { location: ctx.request.url },
package/cjs/tools/vite.js CHANGED
@@ -39,6 +39,9 @@ const serverConfig = {
39
39
  (_g = (_f = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _f === void 0 ? void 0 : _f.server) === null || _g === void 0 ? void 0 : _g.extraPlugin,
40
40
  (0, vite_plugin_style_import_1.default)(styleImportConfig)
41
41
  ],
42
+ esbuild: {
43
+ keepNames: true
44
+ },
42
45
  build: {
43
46
  ssr: reactServerEntry,
44
47
  outDir: serverOutPut,
@@ -79,8 +79,6 @@ const getBaseConfig = (chain, isServer) => {
79
79
  chain.module
80
80
  .rule('mjs')
81
81
  .test(/\.mjs/)
82
- .include
83
- .add(/node_modules/).end()
84
82
  .type('javascript/auto')
85
83
  .end();
86
84
  const module = chain.module
@@ -131,7 +129,7 @@ const getBaseConfig = (chain, isServer) => {
131
129
  ...(isServer ? define === null || define === void 0 ? void 0 : define.server : define === null || define === void 0 ? void 0 : define.client),
132
130
  ...define === null || define === void 0 ? void 0 : define.base
133
131
  }]);
134
- chainBaseConfig(chain);
132
+ chainBaseConfig(chain, isServer);
135
133
  return config;
136
134
  };
137
135
  export { getBaseConfig };
@@ -1,4 +1,3 @@
1
- /// <reference types="webpack" />
2
1
  import * as WebpackChain from 'webpack-chain';
3
2
  declare const getClientWebpack: (chain: WebpackChain) => import("webpack").Configuration;
4
3
  export { getClientWebpack };
@@ -1,10 +1,11 @@
1
1
  import { join } from 'path';
2
- import { loadConfig, getLocalNodeModules, nodeExternals } from 'ssr-server-utils';
2
+ import { loadConfig, getLocalNodeModules, nodeExternals, loadModuleFromFramework } from 'ssr-server-utils';
3
3
  import * as webpack from 'webpack';
4
4
  import { getBaseConfig } from './base';
5
5
  const getServerWebpack = (chain) => {
6
6
  const config = loadConfig();
7
7
  const { isDev, cwd, getOutput, chainServerConfig, whiteList, chunkName } = config;
8
+ const shouldUseSourceMap = isDev || Boolean(process.env.GENERATE_SOURCEMAP);
8
9
  getBaseConfig(chain, true);
9
10
  chain.devtool(isDev ? 'inline-source-map' : false);
10
11
  chain.target('node');
@@ -22,6 +23,18 @@ const getServerWebpack = (chain) => {
22
23
  // externals Dir contains example/xxx/node_modules ssr/node_modules
23
24
  modulesDir
24
25
  }));
26
+ if (!isDev) {
27
+ chain.optimization.minimizer('terser')
28
+ .use(loadModuleFromFramework('terser-webpack-plugin'), [{
29
+ terserOptions: {
30
+ keep_fnames: true
31
+ },
32
+ extractComments: false,
33
+ parallel: true,
34
+ cache: true,
35
+ sourceMap: shouldUseSourceMap
36
+ }]);
37
+ }
25
38
  chain.when(isDev, () => {
26
39
  chain.watch(true);
27
40
  });
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import * as ReactDOM from 'react-dom';
3
3
  import { BrowserRouter, Route, Switch } from 'react-router-dom';
4
- import { preloadComponent } from 'ssr-client-utils';
4
+ import { preloadComponent, isMicro } from 'ssr-client-utils';
5
5
  import { wrapComponent } from 'ssr-hoc-react';
6
6
  import { Routes } from './create-router';
7
7
  import { AppContext } from './context';
@@ -11,7 +11,7 @@ const clientRender = async () => {
11
11
  return props.children;
12
12
  };
13
13
  // 客户端渲染||hydrate
14
- const baseName = window.microApp ? window.clientPrefix : window.prefix;
14
+ const baseName = isMicro() ? window.clientPrefix : window.prefix;
15
15
  const routes = await preloadComponent(FeRoutes, baseName);
16
16
  ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](React.createElement(BrowserRouter, { basename: baseName },
17
17
  React.createElement(AppContext, null,
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IProps } from 'ssr-types-react';
3
2
  export declare function AppContext(props: IProps): JSX.Element;
4
3
  //# sourceMappingURL=context.d.ts.map
@@ -39,7 +39,7 @@ const serverRender = async (ctx, config) => {
39
39
  injectScript
40
40
  };
41
41
  const isCsr = !!(mode === 'csr' || ((_a = ctx.request.query) === null || _a === void 0 ? void 0 : _a.csr));
42
- const Component = isCsr ? React.Fragment : (await component()).default;
42
+ const Component = isCsr ? React.Fragment : (component.name === 'dynamicComponent' ? (await component()).default : component);
43
43
  if (isCsr) {
44
44
  logGreen(`Current path ${path} use csr render mode`);
45
45
  }
@@ -60,7 +60,7 @@ const serverRender = async (ctx, config) => {
60
60
  }
61
61
  }
62
62
  const combineData = isCsr ? null : Object.assign(state !== null && state !== void 0 ? state : {}, layoutFetchData !== null && layoutFetchData !== void 0 ? layoutFetchData : {}, fetchData !== null && fetchData !== void 0 ? fetchData : {});
63
- const injectState = isCsr ? null : React.createElement("script", { dangerouslySetInnerHTML: {
63
+ const injectState = isCsr ? React.createElement("script", { dangerouslySetInnerHTML: { __html: `window.prefix="${prefix}"` } }) : React.createElement("script", { dangerouslySetInnerHTML: {
64
64
  __html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}; window.prefix="${prefix}";${clientPrefix && `window.clientPrefix="${clientPrefix}"`}`
65
65
  } });
66
66
  return (React.createElement(StaticRouter, { location: ctx.request.url },
package/esm/tools/vite.js CHANGED
@@ -36,6 +36,9 @@ const serverConfig = {
36
36
  (_g = (_f = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig()) === null || _f === void 0 ? void 0 : _f.server) === null || _g === void 0 ? void 0 : _g.extraPlugin,
37
37
  styleImport(styleImportConfig)
38
38
  ],
39
+ esbuild: {
40
+ keepNames: true
41
+ },
39
42
  build: {
40
43
  ssr: reactServerEntry,
41
44
  outDir: serverOutPut,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ssr-plugin-react",
3
- "version": "6.2.17",
3
+ "version": "6.2.21",
4
4
  "description": "plugin-react for ssr",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -51,7 +51,7 @@
51
51
  "postcss-flexbugs-fixes": "^5.0.0",
52
52
  "postcss-loader": "^4.0.0",
53
53
  "postcss-modules": "^4.0.0",
54
- "postcss-preset-env": "^7.0.0",
54
+ "postcss-preset-env": "7.6.0",
55
55
  "postcss-safe-parser": "^6.0.0",
56
56
  "react": "^17.0.1",
57
57
  "react-dev-utils": "^11.0.4",
@@ -88,8 +88,6 @@ const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
88
88
  chain.module
89
89
  .rule('mjs')
90
90
  .test(/\.mjs/)
91
- .include
92
- .add(/node_modules/).end()
93
91
  .type('javascript/auto')
94
92
  .end()
95
93
 
@@ -147,7 +145,7 @@ const getBaseConfig = (chain: WebpackChain, isServer: boolean) => {
147
145
  ...(isServer ? define?.server : define?.client),
148
146
  ...define?.base
149
147
  }])
150
- chainBaseConfig(chain)
148
+ chainBaseConfig(chain, isServer)
151
149
  return config
152
150
  }
153
151
 
@@ -1,5 +1,5 @@
1
1
  import { join } from 'path'
2
- import { loadConfig, getLocalNodeModules, nodeExternals } from 'ssr-server-utils'
2
+ import { loadConfig, getLocalNodeModules, nodeExternals, loadModuleFromFramework } from 'ssr-server-utils'
3
3
  import * as WebpackChain from 'webpack-chain'
4
4
  import * as webpack from 'webpack'
5
5
  import { getBaseConfig } from './base'
@@ -7,6 +7,7 @@ import { getBaseConfig } from './base'
7
7
  const getServerWebpack = (chain: WebpackChain) => {
8
8
  const config = loadConfig()
9
9
  const { isDev, cwd, getOutput, chainServerConfig, whiteList, chunkName } = config
10
+ const shouldUseSourceMap = isDev || Boolean(process.env.GENERATE_SOURCEMAP)
10
11
  getBaseConfig(chain, true)
11
12
  chain.devtool(isDev ? 'inline-source-map' : false)
12
13
  chain.target('node')
@@ -25,7 +26,18 @@ const getServerWebpack = (chain: WebpackChain) => {
25
26
  // externals Dir contains example/xxx/node_modules ssr/node_modules
26
27
  modulesDir
27
28
  }))
28
-
29
+ if (!isDev) {
30
+ chain.optimization.minimizer('terser')
31
+ .use(loadModuleFromFramework('terser-webpack-plugin'), [{
32
+ terserOptions: {
33
+ keep_fnames: true
34
+ },
35
+ extractComments: false,
36
+ parallel: true,
37
+ cache: true,
38
+ sourceMap: shouldUseSourceMap
39
+ }])
40
+ }
29
41
  chain.when(isDev, () => {
30
42
  chain.watch(true)
31
43
  })
@@ -1,22 +1,20 @@
1
1
  import * as React from 'react'
2
2
  import * as ReactDOM from 'react-dom'
3
3
  import { BrowserRouter, Route, Switch } from 'react-router-dom'
4
- import { preloadComponent } from 'ssr-client-utils'
4
+ import { preloadComponent, isMicro } from 'ssr-client-utils'
5
5
  import { wrapComponent } from 'ssr-hoc-react'
6
- import { IWindow, LayoutProps, ReactRoutesType } from 'ssr-types-react'
6
+ import { LayoutProps, ReactRoutesType } from 'ssr-types-react'
7
7
  import { Routes } from './create-router'
8
8
  import { AppContext } from './context'
9
9
 
10
10
  const { FeRoutes, layoutFetch, App } = Routes as ReactRoutesType
11
11
 
12
- declare const window: IWindow
13
-
14
12
  const clientRender = async (): Promise<void> => {
15
13
  const IApp = App ?? function (props: LayoutProps) {
16
14
  return props.children!
17
15
  }
18
16
  // 客户端渲染||hydrate
19
- const baseName = window.microApp ? window.clientPrefix : window.prefix
17
+ const baseName = isMicro() ? window.clientPrefix : window.prefix
20
18
  const routes = await preloadComponent(FeRoutes, baseName)
21
19
  ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](
22
20
  <BrowserRouter basename={baseName}>
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { StaticRouter } from 'react-router-dom'
3
3
  import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment } from 'ssr-server-utils'
4
- import { ISSRContext, IConfig, ReactRoutesType, ReactESMFeRouteItem } from 'ssr-types-react'
4
+ import { ISSRContext, IConfig, ReactRoutesType, ReactESMPreloadFeRouteItem, DynamicFC, StaticFC } from 'ssr-types-react'
5
5
  import { serialize } from 'ssr-serialize-javascript'
6
6
  // @ts-expect-error
7
7
  import { STORE_CONTEXT as Context } from '_build/create-context'
@@ -12,7 +12,7 @@ const { FeRoutes, layoutFetch, state, Layout } = Routes as ReactRoutesType
12
12
  const serverRender = async (ctx: ISSRContext, config: IConfig): Promise<React.ReactElement> => {
13
13
  const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix } = config
14
14
  const path = normalizePath(ctx.request.path, prefix)
15
- const routeItem = findRoute<ReactESMFeRouteItem>(FeRoutes, path)
15
+ const routeItem = findRoute<ReactESMPreloadFeRouteItem>(FeRoutes, path)
16
16
 
17
17
  if (!routeItem) {
18
18
  throw new Error(`
@@ -46,7 +46,7 @@ const serverRender = async (ctx: ISSRContext, config: IConfig): Promise<React.Re
46
46
  }
47
47
 
48
48
  const isCsr = !!(mode === 'csr' || ctx.request.query?.csr)
49
- const Component = isCsr ? React.Fragment : (await component()).default
49
+ const Component = isCsr ? React.Fragment : (component.name === 'dynamicComponent' ? (await (component as DynamicFC)()).default : component as StaticFC)
50
50
 
51
51
  if (isCsr) {
52
52
  logGreen(`Current path ${path} use csr render mode`)
@@ -68,7 +68,7 @@ const serverRender = async (ctx: ISSRContext, config: IConfig): Promise<React.Re
68
68
  }
69
69
  }
70
70
  const combineData = isCsr ? null : Object.assign(state ?? {}, layoutFetchData ?? {}, fetchData ?? {})
71
- const injectState = isCsr ? null : <script dangerouslySetInnerHTML={{
71
+ const injectState = isCsr ? <script dangerouslySetInnerHTML={{ __html: `window.prefix="${prefix}"` }} /> : <script dangerouslySetInnerHTML={{
72
72
  __html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}; window.prefix="${prefix}";${clientPrefix && `window.clientPrefix="${clientPrefix}"`}`
73
73
  }} />
74
74
 
package/src/tools/vite.ts CHANGED
@@ -35,6 +35,9 @@ const serverConfig: UserConfig = {
35
35
  viteConfig?.()?.server?.extraPlugin,
36
36
  styleImport(styleImportConfig)
37
37
  ],
38
+ esbuild: {
39
+ keepNames: true
40
+ },
38
41
  build: {
39
42
  ssr: reactServerEntry,
40
43
  outDir: serverOutPut,
@@ -51,7 +54,6 @@ const serverConfig: UserConfig = {
51
54
  ...define?.server
52
55
  }
53
56
  }
54
-
55
57
  const clientConfig: UserConfig = {
56
58
  ...commonConfig(),
57
59
  base: isDev ? '/' : getOutputPublicPath(),