我的文件夹结构如下:
-client // Contains the front end and AngularJS code
-server // Contains backend code
-models // Contains backedn code
现在,我希望仅将eslint angular用于客户端文件夹,而我希望将airbnb base用于不在客户端文件夹中的其他文件夹。
我有两个.eslintrc.json
个文件 - 一个在客户端文件夹中,另一个在ROOT文件夹中。
客户端文件夹配置如下所示:
{
"extends": "angular"
}
而根文件夹中的那个看起来像:
{
"extends": "airbnb-base",
"root": true
}
现在,在根文件夹中,当我运行eslint .
时,后端文件夹被正确打印时,前端似乎根本没有使用angularjs eslint - 我收到错误关于我没有使用客户端文件夹的ES6。我也不会因为没有在客户端文件夹(角度插件应该使用)中遵循John Papa的样式指南而遇到错误。
但是,如果我进入客户端文件夹并在其中运行esling命令,它似乎使用正确的配置。
如何配置它以便只有客户端文件夹使用角度eslint而其他文件夹使用airbnb?
答案 0 :(得分:7)
客户端和服务器代码的配置
如果您想知道如何对代码的不同部分进行lint,这是一个建议。
- myproject
--- .eslintrc
--- src
------ client
--------- .eslintrc
------ server
--------- .eslintrc
myproject / .eslintrc包含通用规则。例如,
rules:
brace-style: [2, "1tbs"]
comma-style: [2, "last"]
default-case: 2
func-style: [2, "declaration"] ...
src / client / .eslintrc包含客户端规则。例如,
env:
browser: true
globals:
angular: false
plugins:
- angular
src / server / .eslintrc包含服务器端规则。例如
env:
node: true
我通常在保存时输入一个javascript文件。
ESLint也在全球范围内安装。如ESLint的config帮助页面中所述,全局安装的ESLint实例只能使用全局安装的ESLint插件。 本地安装的ESLint可以确保本地和全局安装的ESLint插件。我还需要在全球范围内安装该插件。
答案 1 :(得分:0)
我建议使用两个配置和两个任务:
eslint -c .eslintrc-client.json client
eslint -c .eslintrc-server.json server models