초보자를 위한 EsLint에 대해 알아야 할 사항
이번에는 EsLint를 시작하는 분들이 꼭 알아야 할 Notes에 대해 알려드리겠습니다. 몇 가지 실제 사례를 함께 살펴보겠습니다.
Introduction
ESLint은 플러그인 javascript 코드 감지 도구로, 일반적인 JavaScript 코드 오류를 확인하는 데 사용할 수 있으며 코드 스타일 검사도 수행할 수 있습니다. 자신의 ESLint 구성 세트를 지정한 다음 이를 작성하는 프로젝트에 적용하여 보조 코딩 표준을 실행하고 프로젝트 코드의 품질을 효과적으로 제어하는 것을 좋아합니다.
Installation
ESLint 설치: 로컬 설치, 전역 설치
1, 로컬 설치
$ npm install eslint --save-dev
$ ./node_modules/.bin/eslint --init
을 생성한 후 다음과 같이 모든 파일이나 디렉터리에서 ESLint를 실행할 수 있습니다.
$ ./node_modules/.bin/eslint index.js
index. js는 테스트해야 하는 js 파일입니다. 사용하는 모든 플러그인 또는 공유 구성(로컬에 설치된 ESLint와 작동하려면 로컬로 설치해야 함).
2. 전역 설치
모든 프로젝트에서 ESLint를 사용하려면 ESLint를 전역으로 설치하는 것이 좋습니다.
$ npm install -g eslint
구성 파일
$ eslint --init
을 생성한 후 모든 파일이나 디렉터리에서 ESLint를 실행할 수 있습니다
$ eslint index.js
PS: eslint --init는 각 프로젝트에서 eslint를 설정 및 구성하는 데 사용되며 로컬에 설치된 ESLint를 실행합니다. 및 플러그인 디렉토리. 전역적으로 설치된 ESLint를 사용하려는 경우 구성에 사용되는 모든 플러그인을 전역적으로 설치해야 합니다.
사용
1. 프로젝트 루트 디렉터리에 package.json 파일을 생성합니다. (ESLint를 구성하는 프로젝트에는 package.json 파일이 있어야 합니다. 그렇지 않은 경우 npm init -y를 사용하여 생성할 수 있습니다)
$ npm init -y
2. eslint 설치 (개인 프로젝트의 필요에 따라 설치 방법이 있는데 여기서는 전역 설치를 사용합니다)
$ npm install -g eslint
3.index.js 파일을 생성하고 그 안에 함수를 작성합니다.
function merge () { var ret = {}; for (var i in arguments) { var m = arguments[i]; for (var j in m) ret[j] = m[j]; } return ret; } console.log(merge({a: 123}, {b: 456}));
node index.js를 실행하면 출력 결과는 {a: 123, b: 456}
$ node index.js { a: 123, b: 456 }
eslint를 사용하여 확인하세요.
$ eslint index.js
Oops! Something went wrong! :( ESLint: 4.19.1. ESLint couldn't find a configuration file. To set up a configuration file for this project, please run: eslint --init ESLint looked for configuration files in E:\website\demo5\js and its ancestors. If it found none, it then looked in your home directory. If you think you already have a configuration file or if you need more help, please stop by the ESLint chat room: https://gitter.im/eslint/eslint
실행 결과는 해당 구성 파일을 찾을 수 없어서 실패입니다. 이 eslint가 가장 중요하다고 생각합니다. 구성 문제입니다.
새 구성 파일 만들기
$ eslint --init
생성 과정에서 생성 규칙, 지원 환경 및 기타 콘텐츠를 선택해야 합니다. 다음은 내 생성 옵션 중 일부입니다.
? How would you like to configure ESLint? Answer questions about your style ? Are you using ECMAScript 6 features? Yes ? Are you using ES6 modules? Yes ? Where will your code run? Browser ? Do you use CommonJS? Yes ? Do you use JSX? No ? What style of indentation do you use? Tabs ? What quotes do you use for strings? Single ? What line endings do you use? Windows ? Do you require semicolons? No ? What format do you want your config file to be in? JavaScript
생성된 콘텐츠는 .eslintrc.js 파일에 있습니다. , 파일 내용은 다음과 같습니다
module.exports = { "env": { "browser": true, "commonjs": true, "es6": true }, "extends": "eslint:recommended", "parserOptions": { "sourceType": "module" }, "rules": { "indent": [ "error", "tab" ], "linebreak-style": [ "error", "windows" ], "quotes": [ "error", "single" ], "semi": [ "error", "never" ] } };
단, 생성된 파일에는 이미 일부 구성이 있으므로 안에 있는 내용을 대부분 삭제하세요. 확장을 그대로 두고 나머지는 직접 작성하세요
module.exports = { "extends": "eslint:recommended" };
eslint:권장 구성에는 일련의 핵심 규칙이 포함되어 있으며 몇 가지 일반적인 문제를 보고할 수 있습니다.
eslint index.js를 다시 실행하면 출력은 다음과 같습니다
10:1 error Unexpected console statement no-console 10:1 error 'console' is not defined no-undef ✖ 2 problems (2 errors, 0 warnings)
예기치 않은 콘솔 문 no-console --- 콘솔을 사용할 수 없습니다.
'console'이 정의되지 않았습니다. no-undef --- 콘솔 변수가 정의되지 않았습니다. 정의되지 않은 변수는 사용할 수 없습니다
하나씩 해결하세요. 콘솔 프롬프트를 사용할 수 없으면 콘솔 없음을 비활성화하고 구성 파일에 규칙을 추가할 수 있습니다
module.exports = { extends: 'eslint:recommended', rules: { 'no-console': 'off', }, };
구성 규칙은 규칙 개체에 작성되며 키는 규칙을 나타냅니다. 이름과 값은 규칙의 구성을 나타냅니다.
그러면 no-undef에 대한 해결책이 있습니다. 오류가 발생하는 이유는 JavaScript가 브라우저 및 Node.js와 같은 실행 환경이 많기 때문입니다. 또한 PostgreSQL과 같이 JavaScript를 스크립트 엔진으로 사용하는 소프트웨어 시스템도 많습니다. JavaScript를 사용하여 스토리지 엔진을 작성하면 이러한 운영 환경에는 콘솔 개체가 존재하지 않을 수 있습니다. 또한 브라우저 환경에는 window 개체가 있지만 Node.js에는 프로세스 개체가 있지만 브라우저 환경에는 없습니다. 따라서 구성 파일에서 프로그램의 대상 환경도 지정해야 합니다.
module.exports = { extends: 'eslint:recommended', env: { node: true, }, rules: { 'no-console': 'off', } };
검사가 다시 실행되면 index.js가 검사를 완전히 통과했음을 나타내는 프롬프트 출력이 없습니다.
구성
구성 방법에는 파일 구성 방법과 코드 주석 구성 방법 두 가지가 있습니다. (
상대적으로 독립적이고 유지 관리가 쉬운 파일 구성 형식을 사용하는 것이 좋습니다). 파일 구성 사용: 프로젝트의 루트 디렉터리에 .eslintrc라는 새 파일을 만들고 이 파일에 몇 가지 검사 규칙을 추가합니다.
파일 구성 방법
env: 스크립트는 어떤 환경에서 실행되나요?
환경은 브라우저, 노드 환경 변수, es6 환경 변수, mocha 환경 변수 등과 같은 다른 환경에 대한 전역 변수를 미리 설정할 수 있습니다.'env': { 'browser': true, 'commonjs': true, 'es6': true },
globals: 추가 전역 변수
globals: { vue: true, wx: true },
규칙: 개방형 규칙 및 오류 발생 시 보고되는 수준
규칙에는 세 가지 오류 수준이 있습니다.0或’off’:关闭规则。 1或’warn’:打开规则,并且作为一个警告(并不会导致检查不通过)。 2或’error’:打开规则,并且作为一个错误 (退出码为1,检查不通过)。 参数说明: 参数1 : 错误等级 参数2 : 处理方式
구성 코드 주석 방법
JavaScript 주석을 사용하여 구성 정보를 파일에 직접 포함
예:忽略 no-undef 检查 /* eslint-disable no-undef */ 忽略 no-new 检查 /* eslint-disable no-new */ 设置检查 /*eslint eqeqeq: off*/ /*eslint eqeqeq: 0*/
관심 있는 학생들은 여기에서 많은 구성과 규칙을 참조할 수 있습니다. 규칙
使用共享的配置文件
我们使用配置js文件是以extends: 'eslint:recommended'为基础配置,但是大多数时候我们需要制定很多规则,在一个文件中写入会变得很臃肿,管理起来会很麻烦。
新建一个文件比如eslint-config-public.js,在文件内容添加一两个规则。
module.exports = { extends: 'eslint:recommended', env: { node: true, }, rules: { 'no-console': 'off', 'indent': [ 'error', 4 ], 'quotes': [ 'error', 'single' ], }, };
然后原来的.eslintrc.js文件内容稍微变化下,删掉所有的配置,留下一个extends。
module.exports = { extends: './eslint-config-public.js', };
这个要测试的是啥呢,就是看看限定缩进是4个空格和使用单引号的字符串等,然后测试下,运行eslint index.js,得到的结果是没有问题的,但是如果在index.js中的var ret = {};前面加个空格啥的,结果就立马不一样了。
2:1 error Expected indentation of 4 spaces but found 5 indent ✖ 1 problem (1 error, 0 warnings) 1 error, 0 warnings potentially fixable with the `--fix` option.
这时候提示第2行的是缩进应该是4个空格,而文件的第2行却发现了5个空格,说明公共配置文件eslint-config-public.js已经生效了。
除了这些基本的配置以外,在npm上有很多已经发布的ESLint配置,也可以通过安装使用。配置名字一般都是eslint-config-为前缀,一般我们用的eslint是全局安装的,那用的eslint-config-模块也必须是全局安装,不然没法载入。
在执行eslint检查的时候,我们会经常看到提示“--flx”选项,在执行eslint检查的时候添加该选项会自动修复部分报错部分(注意这里只是部分,并不是全部)
比如我们在规则中添加一条no-extra-semi: 禁止不必要的分号。
'no-extra-semi':'error'
然后,我们在index.js最后多添加一个分号
function merge () { var ret = {}; for (var i in arguments) { var m = arguments[i]; for (var j in m) ret[j] = m[j]; } return ret;; } console.log(merge({a: 123}, {b: 456}));
执行eslint index.js,得到结果如下:
7:16 error Unnecessary semicolon no-extra-semi 7:16 error Unreachable code no-unreachable ✖ 2 problems (2 errors, 0 warnings) 1 error, 0 warnings potentially fixable with the `--fix` option.
然后我们在执行eslint index.js --fix就会自动修复,index.js那个多余的分号也就被修复消失不见了。
总结
以上是我在学习eslint整理的一些资料,不算太全面,对于像我这样的新手入门足够了
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 초보자를 위한 EsLint에 대해 알아야 할 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











React에서 eslint를 삭제하는 방법: 1. "npm runject" 명령을 실행합니다. 2. package.json의 코드를 ""eslintConfig"로 수정합니다: {"extends": ["react-app","react-app/ jest" ],"rules": {"no-undef": "off"...}"; 3. 프로젝트를 다시 시작합니다.

"SpongeBob SquarePants and the Krusty Krab"은 빠르게 진행되는 게임 플레이와 놀라운 요리로 가득한 요리 시뮬레이션 비즈니스 게임입니다. SpongeBob을 플레이하고 게임 내 다양한 레스토랑과 주방을 확장하여 즐거움을 선사할 것입니다. 초보 플레이어를 위한 몇 가지 전략 제안은 다음과 같습니다. 첫째, 작업 효율성을 높이기 위해 주방 레이아웃을 합리적으로 배열합니다. 둘째, 적절한 공급을 보장하기 위해 재료 조달 및 보관에 주의를 기울이고 적시에 주문을 처리합니다. 마지막으로 장비와 레시피를 지속적으로 업그레이드하여 더 많은 고객을 유치하세요. 이 팁을 통해 SpongeBob SquarePants 게임과 Krusty Krab 초보자 튜토리얼 1에서 더 나은 결과를 얻을 수 있습니다. 처음에는 작은 목표가 있습니다. 플레이어는 레벨 2를 통과하기 위해 목표를 완료하기만 하면 됩니다. 생산 과정에서 모든 사람은 고객의 요구 사항을 주의 깊게 확인해야 합니다. 3. 완료할 때마다;

Little Time in Cow Town은 플레이어들에게 사랑받는 캐주얼 파밍 게임입니다. 이 게임은 여유로운 속도와 편안한 게임 플레이를 설정하여 플레이어가 시뮬레이션된 마을의 세계에서 자신만의 흥미로운 이야기를 만들 수 있도록 합니다. 많은 초보 플레이어들이 이 독특한 비즈니스 시뮬레이션 게임에 관심을 갖고 있습니다. 여기에서는 초보자가 게임을 더 잘 시작하는 데 도움이 되는 몇 가지 입문 게임 플레이 전략을 공유하겠습니다. Little Time in Cow Town 초보자 게임 가이드 Little Time in Cow Town은 시골 생활을 시뮬레이션하는 오픈 모바일 게임으로, 이 작은 픽셀 세계에서 토지 개간, 축산, 저택 건설, 주민 및 마을 정복을 경험하게 됩니다. 그 외 새로운 농장 생활, 낚시와 경마, 광산 모험, 시장 무역 등 다양한 놀이 방법이 이 새로운 소 마을을 경험해 보시기 바랍니다. 큰

매장지점은 항상 H5 프로젝트의 중요한 부분이었으며, 매장지점 데이터는 향후 사업 개선 및 기술 최적화를 위한 중요한 기반이 됩니다. 일상 업무에서 제품이나 비즈니스 부서의 학생들이 "지금 이 프로젝트의 숨겨진 포인트는 무엇입니까?", "이 숨겨진 포인트는 어디에 사용됩니까?"라는 질문을 자주 듣습니다. 무능한.

드림시티의 신규 플레이어들은 어떻게 운영해야 할까요? 드림시티는 아름답고 힐링되는 콘텐츠를 갖춘 고품격 시뮬레이션 관리 게임으로, 자유롭고 개방적인 도시 건설과 관리를 많이 제공하며, 재미있고 뛰어난 콘텐츠로 제작될 수 있습니다. 탐험, 신규 플레이어들도 궁금했던 조작방법을 소개합니다. 이번 호에서는 드림시티 초보자를 위한 게임플레이를 소개합니다. 꿈의 도시 레벨 트리가 레벨 3에 도달합니다. 토지 개간에는 파견된 동물이 필요하며 동시에 일정량의 물 요소, 흙 요소, 나무 요소 및 금화가 소비되지만 일부 황무지는 금화만 필요합니다. 2. 황무지를 열 때마다 잠금 해제된 토지와 연결된 황무지만 선택할 수 있으며, 황무지마다 필요한 재료의 양이 늘어납니다. .

'라그나로크 첫 만남 같은 사랑'은 클래식 IP와 시원한 어드벤처 MMO의 요소를 결합한 고품격 일본 만화 테마의 캐릭터 게임이다. 게임의 독특한 조작 기능은 고전적인 세계관으로 가득한 몰입형 게임 경험을 선사합니다. 게임에서 플레이어는 다양한 고전 직업을 플레이하고 새로운 모험 이야기를 탐험하게 됩니다. 신규 플레이어를 위한 몇 가지 전략 제안은 다음과 같습니다. Ragnarok Love is First Met 초보자 전략 팁 1. 게임 조작에 익숙해지기: Ragnarok Love Is First Met는 가상 버튼을 사용하여 게임 조작에 익숙해지는 것이 좋습니다. 이동, 공격, 스킬 릴리즈 등을 포함합니다. 2. 적합한 직업 선택: 게임에는 다양한 직업이 있습니다. 초보자는 자신의 게임 선호도와 플레이 습관에 따라 적합한 직업을 선택해야 합니다. 3. 레벨을 높이려면 작업을 완료하세요.

1. BBX.com 소개 BBX.com은 전 세계적으로 운영되는 선도적인 암호화폐 지수 계약 거래 플랫폼으로 사용자에게 안전하고 편리하며 고급 암호화폐 거래 경험을 제공하기 위해 최선을 다하고 있습니다. USDT를 마진 결제로 사용하여 BTC, ETH, EOS, BCH의 선도 무기한 계약을 지원하는 최초의 거래 플랫폼이자 소액 통화 무기한 계약을 지원하는 최초의 거래 플랫폼입니다. 계약 거래, 현물 거래, 법정 화폐 거래를 지원합니다. 2. BBX 계정 등록 및 로그인 1. 브라우저를 사용하여 BBX 공식 웹사이트 https://www.bbx.com/에 로그인합니다. (Google Chrome 브라우저 권장) 2. 상단의 [등록] 버튼을 클릭합니다. 현재 공식 홈페이지 오른쪽에 휴대폰 번호가 지원됩니다. 등록 방법은 이메일 등록과 두 가지가 있습니다.

Yiyou Thirty Ways의 초보자 플레이어는 어떻게 플레이해야 할까요? Yiyou Thirty Ways는 캐릭터를 배치하고 수집하는 흥미진진한 콘텐츠가 포함된 멋진 불멸의 육성 게임으로, 플레이어가 불멸의 세계의 다양한 측면을 경험할 수 있습니다. 또한 모든 종류의 고품질 엔터테인먼트에 매우 관심이 많습니다. 이 문제는 몇 가지 입문자용 전략을 제공합니다! Yiyou 13가지 방법 초보자 개발 가이드 1. 일일 도전: 매일 전투에 카오스 비즈를 착용하는 것을 고려할 수 있습니다. , 피해량이 높을수록 보상도 좋아질 가능성이 높습니다. 2. 시련 : 레벨 NPC에게 도전하여 별석과 선녀옥을 획득할 수 있으며, 순위가 높을수록 별 고급 재료를 획득할 수 있습니다. 3. 메인 라인 및 엘리트 레벨: 더 많은 시도를 할 수 있습니다. 운이 좋으면 스킬 효과를 몇 번 더 발동할 기회가 있습니다.
