我正在使用Intellij IDEA開發Node.js應用程序。 我在前端使用es5,在後端使用es6。intellij想法中的多個ECMA腳本版本
有沒有辦法爲每個文件夾定義ECMAScript級別?
感謝
我正在使用Intellij IDEA開發Node.js應用程序。 我在前端使用es5,在後端使用es6。intellij想法中的多個ECMA腳本版本
有沒有辦法爲每個文件夾定義ECMAScript級別?
感謝
如果使用多個版本的ECMAScript,然後共同點應該挑選的項目,ECMAScript 6
。
JetBrains的集成開發環境依靠ESLint爲掉毛,所以不同.eslintrc配置可以每個文件夾被提供,即
{
"env": {
"es6": false,
...
},
"extends": "eslint:recommended",
"rules": {
"no-var": 0,
...
}
}
爲前端,和
{
"env": {
"es6": true,
...
},
"extends": "eslint:recommended",
"rules": {
"no-var": 1,
...
}
}
爲後端。
在這種情況下,所有干擾ESLint規則的檢查都應該是disabled,如var used instead of let or const
。
這不是一個正確的答案,最初的問題是關於Webstorm自己的檢查,而不是ESLint。如果像'var而不是let或const'這樣的檢查是唯一的問題,那麼解決方案就是設置檢查範圍。但是,在JavaScript版本設置爲'ES5'的項目中使用ES6語法時,禁用檢查或設置範圍將無助於擺脫語法錯誤,例如 – lena
@lena它解決了用戶擁有的問題,即維護在一個項目中有幾個具有不同ES版本和規則集的根。我相信這是現在如何做的唯一方式(我自己做過)。我有一種感覺,IDE本身至少在內部使用ESLint進行一些檢查,例如'var used ...'。不確定在依靠ESLint而不是檢查相交規則時是否存在缺陷,我沒有看到。我不知道你的答案爲什麼被刪除,它不能幫助解決問題,而是準確回答問題。 – estus
我可以確定IDE在內部不使用ESLint(儘管它可以通過ESLint集成運行)。而且,正如我所提到的,設置ESLint對內置的檢查/詞法分析器問題沒有幫助 – lena
每個文件夾都有不同的.eslintrc。 – estus
這適用於eslint,但我仍然在前端獲得像'var used,而不是let或const'這樣的Intellij錯誤。 – LandoR
對此也有嚴格的規定。 http://eslint.org/docs/rules/no-var。據我所知,IDE依賴eslint。 – estus