使用的環境是 Rails + Vue.js
.
前端用的是 Slim + CoffeeScript + Sass
(確實比較小衆啊, 公司用的環境沒辦法).
IDE 用的 IntelliJ
的 RubyMine
偶爾會發生.slim文件寫着寫着就崩潰, 現象是**文件沒法錄入任何字符,
有時文件內部不對鍵盤作出任何反應, 上下移動光標都不能夠.
在重啓RubyMine後, 出問題的文件不管如何也打不開.**前端
第一次發生這種現象的時候不知道怎麼折騰着就又好了, 因此就沒深究, 但第三次就有點惱人了.
在重啓/清內存/清緩存 很差使以後開始針對各類plugin 進行排查,
總算找到鬧事的傢伙: Ruby Slim Support Integration
node
Ruby Slim Support Integration
這個插件是用來分析Slim的語法的.
多是代碼中哪一個Slim語法它分析不出來, 致使運行時錯誤.
抱着這個可能性, 用逐行刪除代碼的方式排查了一上午, 終於被我找到一句:緩存
#'[]' 用來包裹多個屬性, 用於在元素屬性過多的時候折行, 提升代碼可讀性 img.feed_img.feed_thumb [:id="feed.id" : :large="feed.nodes[0][2]" v-lazy="feed.thumbs[4]" v-if="feed.error == 0"]
代碼裏[]
用來包裹多個屬性.
問題出在, 在[
開始後的第一個新行裏由冒號:
開始時, 插件會沒法分析語義.
這裏我是準備輸入Vue的 bind語法途中程序崩潰的.spa
解決方法就是當心不要在[
下一行用:
起頭兒.
或者儘可能不使用屬性包裹[]
固然也不排除插件還有其餘語義分析問題, 若是擔憂這種狀況再次發生, 也能夠索性吧插件關掉.
在Preference
=> Plugin
裏關掉 Ruby Slim Support Integration
後面的對號:插件
以上!code