ssr-plugin-react 6.2.42 → 6.2.45
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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +409 -0
- package/README.md +3 -10
- package/cjs/config/base.d.ts +1 -1
- package/cjs/config/base.d.ts.map +1 -1
- package/cjs/config/base.js +9 -9
- package/cjs/config/client.js +6 -6
- package/cjs/config/server.js +4 -4
- package/cjs/entry/client-entry.d.ts.map +1 -1
- package/cjs/entry/client-entry.js +25 -17
- package/cjs/entry/client-entry.js.map +1 -1
- package/cjs/entry/context.d.ts +4 -2
- package/cjs/entry/context.d.ts.map +1 -1
- package/cjs/entry/context.js +6 -3
- package/cjs/entry/context.js.map +1 -1
- package/cjs/entry/create-context.d.ts +1 -1
- package/cjs/entry/create-context.d.ts.map +1 -1
- package/cjs/entry/create-context.js +3 -4
- package/cjs/entry/create-context.js.map +1 -1
- package/cjs/entry/create-router.d.ts +1 -1
- package/cjs/entry/create-router.d.ts.map +1 -1
- package/cjs/entry/create-router.js +2 -20
- package/cjs/entry/create-router.js.map +1 -1
- package/cjs/entry/server-entry.d.ts +3 -2
- package/cjs/entry/server-entry.d.ts.map +1 -1
- package/cjs/entry/server-entry.js +24 -13
- package/cjs/entry/server-entry.js.map +1 -1
- package/cjs/index.js +2 -2
- package/cjs/tools/vite.d.ts.map +1 -1
- package/cjs/tools/vite.js +13 -7
- package/cjs/tools/vite.js.map +1 -1
- package/esm/config/base.d.ts +1 -1
- package/esm/config/base.d.ts.map +1 -1
- package/esm/config/base.js +1 -1
- package/esm/config/client.js +1 -1
- package/esm/config/server.js +1 -1
- package/esm/entry/client-entry.d.ts.map +1 -1
- package/esm/entry/client-entry.js +23 -15
- package/esm/entry/client-entry.js.map +1 -1
- package/esm/entry/context.d.ts +4 -2
- package/esm/entry/context.d.ts.map +1 -1
- package/esm/entry/context.js +8 -5
- package/esm/entry/context.js.map +1 -1
- package/esm/entry/create-context.d.ts +1 -1
- package/esm/entry/create-context.d.ts.map +1 -1
- package/esm/entry/create-context.js +4 -5
- package/esm/entry/create-context.js.map +1 -1
- package/esm/entry/create-router.d.ts +1 -1
- package/esm/entry/create-router.d.ts.map +1 -1
- package/esm/entry/create-router.js +2 -20
- package/esm/entry/create-router.js.map +1 -1
- package/esm/entry/server-entry.d.ts +3 -2
- package/esm/entry/server-entry.d.ts.map +1 -1
- package/esm/entry/server-entry.js +17 -6
- package/esm/entry/server-entry.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/tools/vite.d.ts.map +1 -1
- package/esm/tools/vite.js +7 -1
- package/esm/tools/vite.js.map +1 -1
- package/package.json +7 -4
- package/src/config/base.ts +2 -2
- package/src/config/client.ts +1 -1
- package/src/config/server.ts +1 -1
- package/src/entry/client-entry.tsx +26 -26
- package/src/entry/context.tsx +9 -11
- package/src/entry/create-context.ts +5 -7
- package/src/entry/create-router.ts +3 -21
- package/src/entry/server-entry.tsx +21 -16
- package/src/index.ts +1 -1
- package/src/tools/vite.ts +7 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createElement } from 'react';
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
import { BrowserRouter, Route, Switch } from 'react-router-dom';
|
|
4
|
-
import { preloadComponent, isMicro } from 'ssr-
|
|
4
|
+
import { preloadComponent, isMicro, setStoreContext } from 'ssr-common-utils';
|
|
5
5
|
import { wrapComponent } from 'ssr-hoc-react';
|
|
6
|
+
import { STORE_CONTEXT as Context } from '_build/create-context';
|
|
6
7
|
import { Routes } from './create-router';
|
|
7
8
|
import { AppContext } from './context';
|
|
8
9
|
const { FeRoutes, layoutFetch, App } = Routes;
|
|
@@ -10,22 +11,29 @@ const clientRender = async () => {
|
|
|
10
11
|
const IApp = App !== null && App !== void 0 ? App : function (props) {
|
|
11
12
|
return props.children;
|
|
12
13
|
};
|
|
14
|
+
setStoreContext(Context);
|
|
13
15
|
// 客户端渲染||hydrate
|
|
14
16
|
const baseName = isMicro() ? window.clientPrefix : window.prefix;
|
|
15
17
|
const routes = await preloadComponent(FeRoutes, baseName);
|
|
16
|
-
ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](createElement(BrowserRouter, {
|
|
19
|
+
basename: baseName
|
|
20
|
+
}, createElement(AppContext, {
|
|
21
|
+
children: createElement(Switch, null, createElement(IApp, null, createElement(Switch, null, // 使用高阶组件wrapComponent使得csr首次进入页面以及csr/ssr切换路由时调用getInitialProps
|
|
22
|
+
routes.map(item => {
|
|
23
|
+
const { fetch, component, path } = item;
|
|
24
|
+
component.fetch = fetch;
|
|
25
|
+
component.layoutFetch = layoutFetch;
|
|
26
|
+
const WrappedComponent = wrapComponent(component);
|
|
27
|
+
return createElement(Route, {
|
|
28
|
+
exact: true,
|
|
29
|
+
key: path,
|
|
30
|
+
path: path,
|
|
31
|
+
render: () => createElement(WrappedComponent, {
|
|
32
|
+
key: location.pathname
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}))))
|
|
36
|
+
})), document.getElementById('app'));
|
|
29
37
|
};
|
|
30
38
|
clientRender();
|
|
31
39
|
export { clientRender };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-entry.js","sourceRoot":"","sources":["../../src/entry/client-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client-entry.js","sourceRoot":"","sources":["../../src/entry/client-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;AAE7C,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IAC7C,MAAM,IAAI,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,UAAU,KAAkB;QAC9C,OAAO,KAAK,CAAC,QAAS,CAAA;IACxB,CAAC,CAAA;IACD,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAChE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACjD,aAAa,CAAC,aAAa,EAAE;QAC3B,QAAQ,EAAE,QAAQ;KACnB,EAAE,aAAa,CAAC,UAAiB,EAAE;QAClC,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAClC,aAAa,CAAC,IAAW,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,gEAAgE;QAC3H,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;YACvC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;YACvB,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;YACnC,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YACjD,OAAO,aAAa,CAAC,KAAK,EAAE;gBAC1B,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE;oBAC5C,GAAG,EAAE,QAAQ,CAAC,QAAQ;iBACvB,CAAC;aACH,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC,CAAC,CAAC;KACV,CAAC,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAErC,CAAC,CAAA;AAED,YAAY,EAAE,CAAA;AAEd,OAAO,EACL,YAAY,EACb,CAAA"}
|
package/esm/entry/context.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="context" />
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
import { IProps } from 'ssr-types';
|
|
4
|
+
export declare function AppContext(props: IProps): import("react").FunctionComponentElement<import("react").ProviderProps<import("_build/create-context").IContext<any>>>;
|
|
3
5
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/entry/context.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/entry/context.tsx"],"names":[],"mappings":";;AACA,OAAO,EAAE,MAAM,EAAoC,MAAM,WAAW,CAAA;AA8BpE,wBAAgB,UAAU,CAAE,KAAK,EAAE,MAAM,0HAQxC"}
|
package/esm/entry/context.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
// @ts-expect-error
|
|
4
|
-
import { STORE_CONTEXT } from '_build/create-context';
|
|
1
|
+
import { useReducer, createElement } from 'react';
|
|
2
|
+
import { STORE_CONTEXT as Context } from '_build/create-context';
|
|
5
3
|
import { Routes } from './create-router';
|
|
6
4
|
const { reducer, state } = Routes;
|
|
7
5
|
const userState = state !== null && state !== void 0 ? state : {};
|
|
@@ -23,6 +21,11 @@ function combineReducer(state, action) {
|
|
|
23
21
|
}
|
|
24
22
|
export function AppContext(props) {
|
|
25
23
|
const [state, dispatch] = useReducer(combineReducer, initialState);
|
|
26
|
-
return
|
|
24
|
+
return createElement(Context.Provider, {
|
|
25
|
+
value: {
|
|
26
|
+
state,
|
|
27
|
+
dispatch
|
|
28
|
+
}
|
|
29
|
+
}, props.children);
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=context.js.map
|
package/esm/entry/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/entry/context.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/entry/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAyB,CAAA;AAEpD,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAA;AAC7B,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAa,CAAC,CAAA;AAE7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAKnD,SAAS,cAAc,CAAE,KAAU,EAAE,MAAc;IACjD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,eAAe;YAClB,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;gBACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;aACpB;YACD,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;KACzC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAEhF,SAAS,cAAc,CAAE,KAAU,EAAE,MAAW;IAC9C,OAAO,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACpE,CAAC;AACD,MAAM,UAAU,UAAU,CAAE,KAAa;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAClE,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrC,KAAK,EAAE;YACL,KAAK;YACL,QAAQ;SACT;KACF,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.d.ts","sourceRoot":"","sources":["../../src/entry/create-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-context.d.ts","sourceRoot":"","sources":["../../src/entry/create-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAiB,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,QAAA,IAAI,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAYpC,OAAO,EACL,aAAa,EACd,CAAA"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
1
|
+
// The file is provisional,don't modify it
|
|
2
|
+
import { createContext } from 'react';
|
|
4
3
|
let STORE_CONTEXT;
|
|
5
4
|
if (__isBrowser__) {
|
|
6
|
-
STORE_CONTEXT = window.STORE_CONTEXT ||
|
|
5
|
+
STORE_CONTEXT = window.STORE_CONTEXT || createContext({
|
|
7
6
|
state: {}
|
|
8
7
|
});
|
|
9
8
|
window.STORE_CONTEXT = STORE_CONTEXT;
|
|
10
9
|
}
|
|
11
10
|
else {
|
|
12
|
-
STORE_CONTEXT =
|
|
11
|
+
STORE_CONTEXT = createContext({
|
|
13
12
|
state: {}
|
|
14
13
|
});
|
|
15
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../src/entry/create-context.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../src/entry/create-context.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAW,aAAa,EAAE,MAAM,OAAO,CAAA;AAE9C,IAAI,aAAgC,CAAA;AACpC,IAAI,aAAa,EAAE;IACjB,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,aAAa,CAAW;QAC9D,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IACF,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;CACrC;KAAM;IACL,aAAa,GAAG,aAAa,CAAW;QACtC,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;CACH;AAED,OAAO,EACL,aAAa,EACd,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-router.d.ts","sourceRoot":"","sources":["../../src/entry/create-router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-router.d.ts","sourceRoot":"","sources":["../../src/entry/create-router.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,QAAA,MAAM,MAAM,iBAAgE,CAAA;AAE5E,OAAO,EACL,MAAM,EACP,CAAA"}
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { combineRoutes } from 'ssr-common-utils';
|
|
2
2
|
import * as declareRoutes from '_build/ssr-declare-routes';
|
|
3
|
-
// @ts-expect-error
|
|
4
3
|
import * as ManualRoutes from '_build/ssr-manual-routes';
|
|
5
|
-
const
|
|
6
|
-
const ManualRoutesWithType = ManualRoutes;
|
|
7
|
-
const Routes = {
|
|
8
|
-
...declareRoutes,
|
|
9
|
-
...ManualRoutesWithType
|
|
10
|
-
};
|
|
11
|
-
if (ManualRoutesWithType.FeRoutes) {
|
|
12
|
-
// 声明式路由覆盖约定式路由同名path
|
|
13
|
-
const combineRoutes = declareRoutesWithType.FeRoutes.map(route => { var _a; return (_a = ManualRoutesWithType.FeRoutes.find(e => e.path === route.path)) !== null && _a !== void 0 ? _a : route; });
|
|
14
|
-
ManualRoutesWithType.FeRoutes.forEach(route => {
|
|
15
|
-
// 补充声明式路由新增的配置
|
|
16
|
-
const found = combineRoutes.find(e => e.path === route.path);
|
|
17
|
-
if (!found) {
|
|
18
|
-
combineRoutes.push(route);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
Routes.FeRoutes = combineRoutes;
|
|
22
|
-
}
|
|
4
|
+
const Routes = combineRoutes(declareRoutes, ManualRoutes);
|
|
23
5
|
export { Routes };
|
|
24
6
|
//# sourceMappingURL=create-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-router.js","sourceRoot":"","sources":["../../src/entry/create-router.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"create-router.js","sourceRoot":"","sources":["../../src/entry/create-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA;AAGxD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,EAAE,YAAY,CAAoB,CAAA;AAE5E,OAAO,EACL,MAAM,EACP,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { StaticRouter } from 'react-router-dom';
|
|
3
|
+
import { ISSRContext, IConfig } from 'ssr-types';
|
|
4
|
+
declare const serverRender: (ctx: ISSRContext, config: IConfig) => Promise<React.CElement<import("react-router-dom").StaticRouterProps, StaticRouter>>;
|
|
4
5
|
export { serverRender };
|
|
5
6
|
//# sourceMappingURL=server-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAOjG,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO,wFA+E5D,CAAA;AAED,OAAO,EACL,YAAY,EACb,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { createElement } from 'react';
|
|
2
3
|
import { StaticRouter } from 'react-router-dom';
|
|
3
|
-
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment } from 'ssr-
|
|
4
|
+
import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, reactRefreshFragment, setStoreContext } from 'ssr-common-utils';
|
|
4
5
|
import { serialize } from 'ssr-serialize-javascript';
|
|
5
|
-
// @ts-expect-error
|
|
6
6
|
import { STORE_CONTEXT as Context } from '_build/create-context';
|
|
7
7
|
import { Routes } from './create-router';
|
|
8
8
|
const { FeRoutes, layoutFetch, state, Layout } = Routes;
|
|
@@ -11,6 +11,7 @@ const serverRender = async (ctx, config) => {
|
|
|
11
11
|
const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix } = config;
|
|
12
12
|
const path = normalizePath(ctx.request.path, prefix);
|
|
13
13
|
const routeItem = findRoute(FeRoutes, path);
|
|
14
|
+
setStoreContext(Context);
|
|
14
15
|
if (!routeItem) {
|
|
15
16
|
throw new Error(`
|
|
16
17
|
With Path: ${path} search component failed
|
|
@@ -64,10 +65,20 @@ const serverRender = async (ctx, config) => {
|
|
|
64
65
|
const injectState = isCsr ? React.createElement("script", { dangerouslySetInnerHTML: { __html: `window.prefix="${prefix}";${clientPrefix ? `window.clientPrefix="${clientPrefix}";` : ''}` } }) : React.createElement("script", { dangerouslySetInnerHTML: {
|
|
65
66
|
__html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}; window.prefix="${prefix}";${clientPrefix ? `window.clientPrefix="${clientPrefix}";` : ''}`
|
|
66
67
|
} });
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
// with jsx type error, use createElement here
|
|
69
|
+
return createElement(StaticRouter, {
|
|
70
|
+
location: ctx.request.url,
|
|
71
|
+
basename: prefix === '/' ? undefined : prefix
|
|
72
|
+
}, createElement(Context.Provider, {
|
|
73
|
+
value: {
|
|
74
|
+
state: combineData
|
|
75
|
+
}
|
|
76
|
+
}, createElement(Layout, {
|
|
77
|
+
ctx: ctx,
|
|
78
|
+
config: config,
|
|
79
|
+
staticList: staticList,
|
|
80
|
+
injectState: injectState
|
|
81
|
+
}, createElement(Component, null))));
|
|
71
82
|
};
|
|
72
83
|
export { serverRender };
|
|
73
84
|
//# sourceMappingURL=server-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
package/esm/tools/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,MAAM,CAAA;AAmBxC,QAAA,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,MAAM,CAAA;AAmBxC,QAAA,MAAM,YAAY,EAAE,UAmDnB,CAAA;AACD,QAAA,MAAM,YAAY,EAAE,UA0CnB,CAAA;AACD,QAAA,MAAM,SAAS,qBAEd,CAAA;AACD,QAAA,MAAM,SAAS,qBAGd,CAAA;AAED,QAAA,MAAM,eAAe,qBAEpB,CAAA;AACD,QAAA,MAAM,eAAe,qBAEpB,CAAA;AAED,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,CAAA"}
|
package/esm/tools/vite.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18;
|
|
2
2
|
import { build } from 'vite';
|
|
3
|
-
import { loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig, asyncOptimizeChunkPlugin, getOutputPublicPath } from 'ssr-
|
|
3
|
+
import { loadConfig, chunkNamePlugin, rollupOutputOptions, manifestPlugin, commonConfig, asyncOptimizeChunkPlugin, getOutputPublicPath } from 'ssr-common-utils';
|
|
4
4
|
import react from '@vitejs/plugin-react';
|
|
5
5
|
import { createStyleImportPlugin, AndDesignVueResolve, VantResolve, ElementPlusResolve, NutuiResolve, AntdResolve } from 'ssr-vite-plugin-style-import';
|
|
6
6
|
const { getOutput, reactServerEntry, reactClientEntry, viteConfig, supportOptinalChaining, isDev, define, babelOptions, optimize } = loadConfig();
|
|
@@ -42,6 +42,12 @@ const serverConfig = {
|
|
|
42
42
|
keepNames: true,
|
|
43
43
|
logOverride: { 'this-is-undefined-in-esm': 'silent' }
|
|
44
44
|
},
|
|
45
|
+
optimizeDeps: {
|
|
46
|
+
esbuildOptions: {
|
|
47
|
+
// @ts-expect-error
|
|
48
|
+
bundle: isDev
|
|
49
|
+
}
|
|
50
|
+
},
|
|
45
51
|
build: {
|
|
46
52
|
...(_m = (_l = viteConfig === null || viteConfig === void 0 ? void 0 : viteConfig().server) === null || _l === void 0 ? void 0 : _l.otherConfig) === null || _m === void 0 ? void 0 : _m.build,
|
|
47
53
|
ssr: reactServerEntry,
|
package/esm/tools/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/tools/vite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ssr-plugin-react",
|
|
3
|
-
"version": "6.2.
|
|
3
|
+
"version": "6.2.45",
|
|
4
4
|
"description": "plugin-react for ssr",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
"bugs": {
|
|
27
27
|
"url": "https://github.com/zhangyuang/ssr/issues"
|
|
28
28
|
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=12.17.0"
|
|
31
|
+
},
|
|
29
32
|
"homepage": "https://github.com/zhangyuang/ssr#readme",
|
|
30
33
|
"dependencies": {
|
|
31
34
|
"@babel/core": "^7.0.0",
|
|
@@ -61,10 +64,10 @@
|
|
|
61
64
|
"react-router": "^5.2.1",
|
|
62
65
|
"react-router-dom": "^5.1.2",
|
|
63
66
|
"ssr-client-utils": "^6.2.7",
|
|
67
|
+
"ssr-common-utils": "^6.0.0",
|
|
64
68
|
"ssr-hoc-react": "^6.2.7",
|
|
65
69
|
"ssr-serialize-javascript": "^6.0.0",
|
|
66
|
-
"ssr-
|
|
67
|
-
"ssr-vite-plugin-style-import": "^2.0.0",
|
|
70
|
+
"ssr-vite-plugin-style-import": "^2.0.1",
|
|
68
71
|
"ssr-webpack": "^6.2.10",
|
|
69
72
|
"terser-webpack-plugin": "^2.3.5",
|
|
70
73
|
"url-loader": "^4.1.1",
|
|
@@ -81,6 +84,6 @@
|
|
|
81
84
|
"@types/react-router-dom": "^5.1.3",
|
|
82
85
|
"@types/webpack": "^4.41.10",
|
|
83
86
|
"concurrently": "^5.1.0",
|
|
84
|
-
"ssr-types
|
|
87
|
+
"ssr-types": "^6.2.7"
|
|
85
88
|
}
|
|
86
89
|
}
|
package/src/config/base.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { join } from 'path'
|
|
3
|
-
import { Mode } from 'ssr-types
|
|
4
|
-
import { getCwd, loadConfig, setStyle, addImageChain, loadModuleFromFramework } from 'ssr-
|
|
3
|
+
import { Mode } from 'ssr-types'
|
|
4
|
+
import { getCwd, loadConfig, setStyle, addImageChain, loadModuleFromFramework } from 'ssr-common-utils'
|
|
5
5
|
import * as WebpackChain from 'webpack-chain'
|
|
6
6
|
import * as webpack from 'webpack'
|
|
7
7
|
|
package/src/config/client.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promises } from 'fs'
|
|
2
2
|
import { resolve } from 'path'
|
|
3
|
-
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework } from 'ssr-
|
|
3
|
+
import { loadConfig, getCwd, getSplitChunksOptions, getOutputPublicPath, loadModuleFromFramework } from 'ssr-common-utils'
|
|
4
4
|
import * as WebpackChain from 'webpack-chain'
|
|
5
5
|
import { Compiler } from 'webpack'
|
|
6
6
|
import { getBaseConfig } from './base'
|
package/src/config/server.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join } from 'path'
|
|
2
|
-
import { loadConfig, nodeExternals, loadModuleFromFramework } from 'ssr-
|
|
2
|
+
import { loadConfig, nodeExternals, loadModuleFromFramework } from 'ssr-common-utils'
|
|
3
3
|
import * as WebpackChain from 'webpack-chain'
|
|
4
4
|
import * as webpack from 'webpack'
|
|
5
5
|
import { getBaseConfig } from './base'
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createElement } from 'react'
|
|
2
2
|
import * as ReactDOM from 'react-dom'
|
|
3
3
|
import { BrowserRouter, Route, Switch } from 'react-router-dom'
|
|
4
|
-
import { preloadComponent, isMicro } from 'ssr-
|
|
4
|
+
import { preloadComponent, isMicro, setStoreContext } from 'ssr-common-utils'
|
|
5
5
|
import { wrapComponent } from 'ssr-hoc-react'
|
|
6
|
-
import { LayoutProps
|
|
6
|
+
import { LayoutProps } from 'ssr-types'
|
|
7
|
+
import { STORE_CONTEXT as Context } from '_build/create-context'
|
|
7
8
|
import { Routes } from './create-router'
|
|
8
9
|
import { AppContext } from './context'
|
|
9
10
|
|
|
10
|
-
const { FeRoutes, layoutFetch, App } = Routes
|
|
11
|
+
const { FeRoutes, layoutFetch, App } = Routes
|
|
11
12
|
|
|
12
13
|
const clientRender = async (): Promise<void> => {
|
|
13
14
|
const IApp = App ?? function (props: LayoutProps) {
|
|
14
15
|
return props.children!
|
|
15
16
|
}
|
|
17
|
+
setStoreContext(Context)
|
|
16
18
|
// 客户端渲染||hydrate
|
|
17
19
|
const baseName = isMicro() ? window.clientPrefix : window.prefix
|
|
18
20
|
const routes = await preloadComponent(FeRoutes, baseName)
|
|
19
21
|
ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
</AppContext>
|
|
41
|
-
</BrowserRouter>
|
|
22
|
+
createElement(BrowserRouter, {
|
|
23
|
+
basename: baseName
|
|
24
|
+
}, createElement(AppContext as any, {
|
|
25
|
+
children: createElement(Switch, null,
|
|
26
|
+
createElement(IApp as any, null, createElement(Switch, null, // 使用高阶组件wrapComponent使得csr首次进入页面以及csr/ssr切换路由时调用getInitialProps
|
|
27
|
+
routes.map(item => {
|
|
28
|
+
const { fetch, component, path } = item
|
|
29
|
+
component.fetch = fetch
|
|
30
|
+
component.layoutFetch = layoutFetch
|
|
31
|
+
const WrappedComponent = wrapComponent(component)
|
|
32
|
+
return createElement(Route, {
|
|
33
|
+
exact: true,
|
|
34
|
+
key: path,
|
|
35
|
+
path: path,
|
|
36
|
+
render: () => createElement(WrappedComponent, {
|
|
37
|
+
key: location.pathname
|
|
38
|
+
})
|
|
39
|
+
})
|
|
40
|
+
}))))
|
|
41
|
+
}))
|
|
42
42
|
, document.getElementById('app'))
|
|
43
43
|
|
|
44
44
|
}
|
package/src/entry/context.tsx
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
// @ts-expect-error
|
|
6
|
-
import { STORE_CONTEXT } from '_build/create-context'
|
|
1
|
+
import { useReducer, createElement } from 'react'
|
|
2
|
+
import { IProps, Action, IWindow, ReactRoutesType } from 'ssr-types'
|
|
3
|
+
import { STORE_CONTEXT as Context } from '_build/create-context'
|
|
7
4
|
import { Routes } from './create-router'
|
|
8
5
|
|
|
9
6
|
const { reducer, state } = Routes as ReactRoutesType
|
|
@@ -34,9 +31,10 @@ function combineReducer (state: any, action: any) {
|
|
|
34
31
|
}
|
|
35
32
|
export function AppContext (props: IProps) {
|
|
36
33
|
const [state, dispatch] = useReducer(combineReducer, initialState)
|
|
37
|
-
return (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
return createElement(Context.Provider, {
|
|
35
|
+
value: {
|
|
36
|
+
state,
|
|
37
|
+
dispatch
|
|
38
|
+
}
|
|
39
|
+
}, props.children)
|
|
42
40
|
}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
//
|
|
2
|
-
// The file is provisional,don't depend on it
|
|
3
|
-
|
|
4
|
-
import React, { Context } from 'react'
|
|
5
|
-
import { IContext } from 'ssr-types-react'
|
|
1
|
+
// The file is provisional,don't modify it
|
|
6
2
|
|
|
3
|
+
import { Context, createContext } from 'react'
|
|
4
|
+
import { IContext } from 'ssr-types'
|
|
7
5
|
let STORE_CONTEXT: Context<IContext>
|
|
8
6
|
if (__isBrowser__) {
|
|
9
|
-
STORE_CONTEXT = window.STORE_CONTEXT ||
|
|
7
|
+
STORE_CONTEXT = window.STORE_CONTEXT || createContext<IContext>({
|
|
10
8
|
state: {}
|
|
11
9
|
})
|
|
12
10
|
window.STORE_CONTEXT = STORE_CONTEXT
|
|
13
11
|
} else {
|
|
14
|
-
STORE_CONTEXT =
|
|
12
|
+
STORE_CONTEXT = createContext<IContext>({
|
|
15
13
|
state: {}
|
|
16
14
|
})
|
|
17
15
|
}
|
|
@@ -1,28 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { combineRoutes } from 'ssr-common-utils'
|
|
2
2
|
import * as declareRoutes from '_build/ssr-declare-routes'
|
|
3
|
-
// @ts-expect-error
|
|
4
3
|
import * as ManualRoutes from '_build/ssr-manual-routes'
|
|
5
|
-
import { ReactRoutesType } from 'ssr-types
|
|
4
|
+
import { ReactRoutesType } from 'ssr-types'
|
|
6
5
|
|
|
7
|
-
const
|
|
8
|
-
const ManualRoutesWithType = ManualRoutes as ReactRoutesType
|
|
6
|
+
const Routes = combineRoutes(declareRoutes, ManualRoutes) as ReactRoutesType
|
|
9
7
|
|
|
10
|
-
const Routes: ReactRoutesType = {
|
|
11
|
-
...declareRoutes,
|
|
12
|
-
...ManualRoutesWithType
|
|
13
|
-
}
|
|
14
|
-
if (ManualRoutesWithType.FeRoutes) {
|
|
15
|
-
// 声明式路由覆盖约定式路由同名path
|
|
16
|
-
const combineRoutes = declareRoutesWithType.FeRoutes.map(route => ManualRoutesWithType.FeRoutes.find(e => e.path === route.path) ?? route)
|
|
17
|
-
ManualRoutesWithType.FeRoutes.forEach(route => {
|
|
18
|
-
// 补充声明式路由新增的配置
|
|
19
|
-
const found = combineRoutes.find(e => e.path === route.path)
|
|
20
|
-
if (!found) {
|
|
21
|
-
combineRoutes.push(route)
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
Routes.FeRoutes = combineRoutes
|
|
25
|
-
}
|
|
26
8
|
export {
|
|
27
9
|
Routes
|
|
28
10
|
}
|