zhangyuang / ssr

A most advanced ssr framework support React17/React18/Vue2/Vue3 on Earth that implemented serverless-side render specification.
http://doc.ssr-fc.com/
MIT License
2.59k stars 283 forks source link

Can't resolve 'react-dom/server' if whiteList contains string #253

Closed Phecda closed 1 year ago

Phecda commented 1 year ago

详细描述你的问题

使用 antd 4.x 并配置 whiteList: ['antd'] 后会报

ERROR in ./node_modules/ssr-plugin-react/cjs/entry/server-entry.js
Module not found: Error: Can't resolve 'react-dom/server' in 'C:\Users\phecda\Projects\my-ssr-project\node_modules\ssr-plugin-react\cjs\entry'
 @ ./node_modules/ssr-plugin-react/cjs/entry/server-entry.js 14:15-42
 @ multi ./node_modules/ssr-plugin-react/cjs/entry/server-entry.js

当前使用的版本

yarn list v1.22.19
warning Filtering by arguments is deprecated. Please use the pattern option instead.
├─ ssr-common-utils@6.2.56
├─ ssr-core-react@6.2.16
├─ ssr-hoc-react@6.2.10
├─ ssr-mini-css-extract-plugin@1.6.3
├─ ssr-plugin-midway@6.2.17
├─ ssr-plugin-react@6.2.56
├─ ssr-serialize-javascript@6.0.4
├─ ssr-types@6.2.33
├─ ssr-vite-plugin-style-import@2.0.1
├─ ssr-webpack@6.2.11
├─ ssr-window@3.0.0
├─ ssr@6.2.39
├─ ssri@7.1.1
└─ webpack@4.46.0
   └─ ssri@6.0.2

复现仓库地址

yarn add -D antd@<5
const userConfig = {
  whiteList: ['antd']
}

你本人对问题可能的原因判断(如果你能大概判断的话)

观察到用 RegExp 添加的话是不会报错的,比如 whiteList: [/^antd$/],但不知道有没有隐患。希望能在 包大小超出 或者whiteList的文档处说明一下 RegExp 和 string 的区别

zhangyuang commented 1 year ago
image

字符串将会递归收集子依赖