使用 ESLint 禁止專案匯入特定模組
使用 ESLint 禁止專案匯入特定模組
專案團隊成員希望能夠禁用某些 JS 依賴。比如有團隊成員希望使用 lodash 而將這個巨大的依賴引入專案,導致專案整體過分臃腫。團隊成員應當使用 lodash-es 來避免這種情況。那麼 ESLint 就提供了一個名為 no-restricted-imports
規則,這個規則就是統一規範在專案中禁止使用的依賴。
使用方法
完整配置規則
假設我們不希望在專案中引入 lodash,那麼配置規則:
rules: { 'no-restricted-imports': [ 'error', { paths: [{ name: 'lodash', message: '不要使用 lodash,請使用 lodash-es 作為替代' }] } ] }
如果有團隊成員試圖引入 lodash 這個依賴
import _ from 'lodash'
那麼就會報錯,並提示 message 資訊
不需要顯示提示資訊
如果不需要顯示任何提示資訊,那麼 message 可以被省略,寫法如下:
'no-restricted-imports': ['error', 'lodash', 'underscore']
使用 gitignore-style 寫法
'no-restricted-imports': ['error', { patterns: ['lodash-es/*'] }]
如果違反規則會出現以下報錯資訊:
參考
https://eslint.org/docs/rules/no-restricted-imports