Fra*_*uez 5 css production reactjs material-ui jss
生产中生成的类名makeStyles会破坏在开发模式下显然可以正常工作的功能。
(嵌套)运算&符在生产中中断导致类名中的唯一标识符不匹配。
1 - 开发模式:white_check_mark:
1.1检查<head>标签,生成的样式:
makeStyles生成:
1.2 MaterialUI渲染的类名:

(忽略附加属性,有信息性无功能)
1.3 chrome中检查的匹配样式:

匹配正确并正确覆盖样式。
这有效

scale的预期transform被正确覆盖。
2 - 生产模式:x:
2.1检查<head>标签,生成的样式:
makeStyles生成:
(显然和开发中的一样)
2.2 - MaterialUI 渲染的类名:
(忽略附加属性,有信息但没有功能)
它们都有一个随机后缀。
2.3 chrome中检查的匹配样式:

.makeStyles-root-304.MuiInputLabel-marginDense生成的类名与makeStylesMaterialUi 标签中不匹配导致标识符.MuiInputLabel-marginDense-220。以标签中的HTML节点结尾220,在生成时还makeStyles没有220后缀
不匹配。这不起作用

样式未被覆盖
在生产模式下,标识符可以与变量 os 匹配。也许我错了,但我不知道为什么会造成这种情况。
我写了一个我正在尝试的简单示例,您可以在https://codesandbox.io/s/simbleapp-1xzgd?file=/public/index.html中检查 Codesandbox 示例是否正常工作(Codesandbox 作为开发环境)
要检查我发布的问题,它需要在类似生产的环境中,然后只需在本地下载相同的 Codesandbox 即可:
npm install --production
npm run build
npm run start:prod
Run Code Online (Sandbox Code Playgroud)
我只是想为我的项目做一个简单的材料库包装,我发现这个问题偶然检查生产应用程序,因为在开发中我从未遇到过这种行为。
“核心库”依赖项
@material-ui/core v4.11.0
@material-ui/styles v4.10.0
React peer
Browser Chrome
TypeScript 3.7.3
Run Code Online (Sandbox Code Playgroud)
“应用程序”依赖项
React 16.13.0
Browser Chrome
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2112 次 |
| 最近记录: |