[英]Component missing classes when I run 'npm run build', 'npm run start' but others can't reproduce the error
這是回購 。
它只是Material-UI提供的示例,在pages/index.tsx
有一個額外的輸入組件
當我在我的本地機器或我的VPS上運行npm run build
npm run start
時,概述的輸入組件如下所示:
標簽出現在輸入上方,而它應該出現在輸入內部。 這是因為它缺少基本類。 具體來說,它缺少這個負責在正確位置顯示標簽的類:
.MuiInputLabel-formControl {
top: 0;
left: 0;
position: absolute;
transform: translate(0, 24px) scale(1);
}
我認為這是Material-UI的一個問題所以我在他們的回購中創建了一個問題 ,但是當他們按照完全相同的步驟時,似乎沒有其他人可以重現這個錯誤。 這是他們看到的:
如果我:我只能讓它工作:
npm run dev
) <Component>
組件外部的pages/_app.tsx
添加組件 next.config.js
我真的不明白這是什么問題。 我在VPS和本地計算機上安裝的唯一其他軟件包是npm@6.9.0
因此應用程序外部的任何內容都不會導致問題。
我刪除了node_modules
文件夾和package-lock.json
並重新安裝了所有內容,我刪除了.next
文件夾並再次運行npm run build
來重建它,但問題仍然存在。 我也試過在不同的瀏覽器中運行應用程序,也嘗試在隱身模式下運行。 什么都沒有修復它。
還有什么可能導致這個問題? 我完全陷入困境,找不到任何其他可以解釋它的類似問題。
編輯:我知道如何通過直接將這些類屬性添加到組件本身來解決此問題。 我正在尋找關於什么可能導致這個問題的解釋,所以我不需要使用黑客來解決它。
不要使用Next.js 8.1.0而是使用8.1.1-canary.51(從1到51最新為51)這里是問題
我遇到了一個類似於你的問題,當我試圖制作我的應用程序的生產版本時,使用材料-ui,樣式都搞砸了並且不合適。 我設法通過添加JSS提供程序來解決:
import JssProvider from "react-jss/lib/JssProvider";
class App extends Component {
render() {
<JssProvider>
*the rest of your material-ui components*
</JssProvider>
}
}
你嘗試過這樣的事嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.