我安装了全球eslint@4.2.0,并希望使用一些预定义的配置。当我尝试安装class SettingsScreen(Screen):
def poptest(self):
time.sleep(5)
self.popup.dismiss()
def ClearDatabase(self):
self.popup = Popup(title='Test popup', content=Image(source='waiting.gif'),
auto_dismiss=False, size_hint=(None, None), size=(400, 400))
self.popup.open()
mythread = threading.Thread(target=self.poptest)
mythread.start()
时,它说我没有eslint> = 4.1.0(我当然已经安装了全球)。安装eslint-config-google
时出现同样的问题 - 最终预定义的配置无法看到全局安装的eslint(甚至eslint-config-airbnb-base
无法看到它导致它在运行时在本地安装了另一个eslint实例)。然后我决定在我的项目目录中本地安装eslint和配置文件 - 就像一个魅力,但我仍然希望这些东西在全球范围内,所以每次我做一个我都不必关心它我的项目的新目录。
是否有可能使eslint和预定义配置在全局范围内工作或至少具有全局eslint和本地配置文件?
答案 0 :(得分:2)
最终预定义的配置无法看到全局安装的eslint
实际上,他们可以。或者更确切地说,全局ESLint可以使用全局配置。它只是不知道如何跨越全球和本地之间的障碍。
然后我决定在我的项目目录中本地安装eslint和配置文件 - 像魅力一样工作
不错的选择。当你最终有需求冲突的项目时,这将是至关重要的。
但我仍然希望将这些内容放在全球范围内,因此每次为项目创建新目录时我都不必关心它
这就是像Yeoman这样的项目脚手架工具的用途。这是我使用的那个,generator-seth。
每当我开始一个新项目时,我只需输入seth
并回答几个问题,并在幕后完成光荣的魔法。
是否有可能使eslint和预定义配置在全局范围内工作或至少具有全局eslint和本地配置文件?
YEPP。您可以拥有本地.eslintrc
文件,全局ESLint会尊重它。您可以运行eslint --init
进行设置(也将在本地安装ESLint,但您不需要使用它)。
但更好的方法是使用XO,它构建在ESLint之上(并支持所有ESLint规则)。与ESLint不同,XO知道如何自动选择要使用的适当安装。您可以在本地和全局安装它,并且当检测到一个时,其全局CLI将遵循本地副本。这很重要,因为这意味着每个项目都可以保留自己的linter版本,同时仍允许您在全局运行XO。因此,如果出现重大变化,那么当您的项目存在需求冲突时,您的项目不会立即被搞砸或被破坏。 XO的配置在本地保存,因此与ESLint不同,您没有重复的本地和全局配置。
答案 1 :(得分:0)
我最近遇到了相同的问题,这是我的解决方案(操作系统:Windows):
首先,我运行eslint initial命令配置我的首选项:
$ eslint --init
?您想如何使用ESLint? 要检查语法,查找问题并实施代码风格
?您的项目使用什么类型的模块? CommonJS(需要/导出)
?您的项目使用哪个框架? 这些都不是
?您的代码在哪里运行? 浏览器,节点
?您想如何为项目定义样式? 使用流行的样式指南
?您要遵循哪种风格指南? Airbnb(https://github.com/airbnb/javascript)
?您希望配置文件使用哪种格式? JavaScript
检查eslint-config-airbnb-base @ latest的peerDependencies
您选择的配置需要以下依赖项:eslint-config-airbnb-base @ latest eslint@^4.19.1 || ^ 5.3.0 eslint-plugin-import@^2.17.2
?您要立即使用npm安装它们吗? 否
第二,我将在本地生成的eslint文件“ .eslintrc.js ”复制到我的用户主目录(C:\ Users \ username)中,以使其成为全局配置文件。
最后,我使用npm 全局安装所需的软件包:
npm install -g eslint@^5.16.0 eslint-config-airbnb-base eslint-plugin-import
*重要*
请勿使用
npm install -g eslint
,因为它将安装最新的 eslint 版本 (如6.0.1),因此 eslint-config-airbnb-base 和 eslint-plugin-import 的依赖关系将出错
如果您想以其他方式配置How to globally set up eslint in vscode,可以在这里找到更多信息。