配置全局安装的eslint

时间:2017-07-15 21:04:53

标签: javascript npm visual-studio-code eslint

我安装了全球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和本地配置文件?

2 个答案:

答案 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,可以在这里找到更多信息。