簡體   English   中英

當我運行'npm run build','npm run start'時,組件缺少類,但其他組件無法重現錯誤

[英]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添加組件
  • 部署到Now.sh這需要在serveless配置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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM