mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-27 12:39:49 +08:00
fix: dom crash with ssr hydrate error (#49576)
* fix: ssr hydrate error * deps: lock react and react-dom * chore: script react/react-dom --nosave * chore(deps): update dumi version * chore: back #49595 * chore(deps): update dumi
This commit is contained in:
parent
3e98f7cf47
commit
3952fd8312
@ -181,26 +181,6 @@ const RoutesPlugin = (api: IApi) => {
|
||||
// exclude dynamic route path, to avoid deploy failed by `:id` directory
|
||||
.filter((f) => !f.path.includes(':'))
|
||||
.map((file) => {
|
||||
let globalStyles = '';
|
||||
|
||||
// Debug for file content: uncomment this if need check raw out
|
||||
// const tmpFileName = `_${file.path.replace(/\//g, '-')}`;
|
||||
// const tmpFilePath = path.join(api.paths.absOutputPath, tmpFileName);
|
||||
// fs.writeFileSync(tmpFilePath, file.content, 'utf8');
|
||||
|
||||
// extract all emotion style tags from body
|
||||
file.content = file.content.replace(
|
||||
/<style (data-emotion|data-sandpack)[\S\s]+?<\/style>/g,
|
||||
(s) => {
|
||||
globalStyles += s;
|
||||
|
||||
return '';
|
||||
},
|
||||
);
|
||||
|
||||
// insert emotion style tags to head
|
||||
file.content = file.content.replace('</head>', `${globalStyles}</head>`);
|
||||
|
||||
// 1. 提取 antd-style 样式
|
||||
const styles = extractEmotionStyle(file.content);
|
||||
|
||||
@ -217,30 +197,6 @@ const RoutesPlugin = (api: IApi) => {
|
||||
file.content = addLinkStyle(file.content, cssFile);
|
||||
});
|
||||
|
||||
// Insert antd style to head
|
||||
const matchRegex = /<style data-type="antd-cssinjs">([\S\s]+?)<\/style>/;
|
||||
const matchList = file.content.match(matchRegex) || [];
|
||||
|
||||
// Init to order the `@layer`
|
||||
let antdStyle = '@layer global, antd;';
|
||||
|
||||
matchList.forEach((text) => {
|
||||
file.content = file.content.replace(text, '');
|
||||
antdStyle += text.replace(matchRegex, '$1');
|
||||
});
|
||||
|
||||
const cssFile = writeCSSFile('antd', antdStyle, antdStyle);
|
||||
file.content = addLinkStyle(file.content, cssFile, true);
|
||||
|
||||
// Insert antd cssVar to head
|
||||
const cssVarMatchRegex = /<style data-type="antd-css-var"[\S\s]+?<\/style>/;
|
||||
const cssVarMatchList = file.content.match(cssVarMatchRegex) || [];
|
||||
|
||||
cssVarMatchList.forEach((text) => {
|
||||
file.content = file.content.replace(text, '');
|
||||
file.content = file.content.replace('<head>', `<head>${text}`);
|
||||
});
|
||||
|
||||
return file;
|
||||
}),
|
||||
);
|
||||
|
@ -13,10 +13,15 @@ export default defineConfig({
|
||||
// to avoid generate routes for .dumi/pages/index/components/xx
|
||||
exclude: [/index\/components\//],
|
||||
},
|
||||
ssr: process.env.NODE_ENV === 'production' ? {} : false,
|
||||
ssr:
|
||||
process.env.NODE_ENV === 'production'
|
||||
? {
|
||||
builder: 'mako',
|
||||
}
|
||||
: false,
|
||||
hash: true,
|
||||
mfsu: false,
|
||||
// mako: {},
|
||||
mako: {},
|
||||
crossorigin: {},
|
||||
outputPath: '_site',
|
||||
favicons: ['https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png'],
|
||||
|
@ -2,5 +2,8 @@
|
||||
"optimization": {
|
||||
"skipModules": false,
|
||||
"concatenateModules": false
|
||||
},
|
||||
"codeSplitting": {
|
||||
"strategy": "auto"
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +74,7 @@
|
||||
"pub": "echo 'Please use `npm publish` instead.'",
|
||||
"postpublish": "tsx scripts/post-publish.ts",
|
||||
"presite": "npm run prestart",
|
||||
"site": "dumi build && cp .surgeignore _site",
|
||||
"site": "npm i --no-save --legacy-peer-deps react@19.0.0-rc-3563387fe3-20240621 react-dom@19.0.0-rc-3563387fe3-20240621 && dumi build && cp .surgeignore _site",
|
||||
"size-limit": "size-limit",
|
||||
"sort:api-table": "antd-tools run sort-api-table",
|
||||
"sort:package-json": "npx sort-package-json",
|
||||
@ -224,7 +224,7 @@
|
||||
"cross-fetch": "^4.0.0",
|
||||
"crypto": "^1.0.1",
|
||||
"dekko": "^0.2.1",
|
||||
"dumi": "~2.3.8",
|
||||
"dumi": "~2.4.0",
|
||||
"dumi-plugin-color-chunk": "^1.1.1",
|
||||
"esbuild-loader": "^4.1.0",
|
||||
"eslint": "^8.57.0",
|
||||
|
Loading…
Reference in New Issue
Block a user