我正在尝试使用导入的对象为.eslintrc.js文件中的全局变量设置一些限制,但是导入不起作用。如何进行动态eslint配置?
import {loadedGlobals} from '@/util/globals'
module.exports = {
'globals': Object.keys(loadedGlobals).reduce((acum, key) => {
acum[key] = false
return acum
}, acum),
// ...
}
答案 0 :(得分:0)
您可能会注意到导出对象时使用的是旧语法。您可以尝试使用require()
代替导入。
或者,您可以查看Shareable Configs。
答案 1 :(得分:0)
如何在eslintrc文件中使用import?
ESLint 目前不支持名为 eslintrc
的配置文件,所以我假设您的意思是 .eslintrc.js
。
ESLint 当前不支持 ES 模块,您可以从其 configuration file formats 文档中的 JavaScript (ESM) 项目符号项中看出。
如果您愿意在此处安装另一个依赖项,您可以如何在 import
中使用 .eslintrc.js
:
esm
模块,npm i esm -D
(这里我选择作为 devDependency
)。.eslintrc.js
的新文件作为 .eslintrc.esm.js
的同级文件。.eslintrc.esm.js
中包含您的 ESLint 配置。在这里您可以使用 import
,您应该将您的配置导出为 export default { // Your config }
。.eslintrc.esm.js
中包含以下代码:require = require('esm')(module)
module.exports = require('./.eslintrc.esm').default
现在您应该可以像往常一样运行 eslint
。额外的文件有点笨重,但您可以根据需要将它们组织在一个目录中,并使用 --config
的 eslint
选项指向新位置。