nuxt下運行項目時內存溢出(out of memory)的一種狀況

話很少說直接上代碼:css

如圖,點紅點的三行引入了一個組件,內容是贊成註冊協議的彈窗。可是在run dev的時候提示說內存溢出了(out of memory)...通過多方排查,定位到這個組件,警察叔叔就是他!html

組件的內容很是簡單,總共不到70行代碼,就再也不貼了。先刪掉了js,生命週期,methods,watch刪的乾乾淨淨;又開始刪template,只剩下一個<p>111</p>;css沒有動,它還能出什麼幺蛾子?可是仍是報錯啊!後來同事猜想說就是css的問題:咱們的彈窗使用了element UI,爲了覆蓋它的樣式,有幾行代碼是這麼寫的:vue

問題就出在這個deep上面!以前在網上看到有一種覆蓋element樣式的寫法:npm

  • 父組件cssName+ /deep/+第三方庫須要更改的cssName
  • 例如 .parentCssName /deep/ .libCssName{}

可是我沒有采用這種方式,而是把全部須要覆蓋的樣式寫在了el_cover.css這個文件中。這個組件不是我寫的,同事和我用的不是同一個方法。若是咱們統一標準的話就不會出現這個問題了,可是反過來想一想也就不會知道有這麼一個坑了。扯遠了,把deep去掉,代碼放在el_cover.css中,再次npm run dev,項目啓動成功。spa

ps,附一下vue官網關於css做用域的講解:https://vue-loader-v14.vuejs.org/zh-cn/features/scoped-css.htmlnuxt

pps,後來發現css的層級較深時也會出現內存溢出這個問題。code

這裏只是發現了nuxt下運行項目時out of memory的一個緣由,至於爲何會這樣以及是否還有其餘操做也會致使內存溢出,若是你知道,不妨像我同樣分享出來啊~htm

相關文章
相關標籤/搜索