คำถามติดแท็ก eslint

ยูทิลิตี้ linting แบบเสียบได้สำหรับ JavaScript และเฟรมเวิร์กที่เกี่ยวข้อง

5
ไม่ได้กำหนด ESLint ดอลลาร์ ($) (no-undef)
$("#ID").hide(); ฉันเพิ่ม ESLint ในโครงการของฉัน $ทุกอย่างดียกเว้นสัญลักษณ์ ฉันได้รับข้อผิดพลาด: [eslint] '$' is not defined. (no-undef) ของฉัน.eslintrc.json(หมายเหตุ: มีกฎเพิ่มเติมที่ตั้งค่าให้ไม่อนุญาตฟังก์ชัน jquery เมื่อมีจาวาสคริปต์ที่เทียบเท่า): { "env": { "browser": true, "commonjs": true, "es6": true }, "extends": [ "eslint:recommended" ], "parserOptions": { "sourceType": "module" }, "plugins": [ "dollar-sign", "jquery" ], "rules": { "indent": [ "error" , "tab" ], "linebreak-style": [ …
108 jquery  eslint 

2
ตัวแปรส่วนกลางใน Javascript และ ESLint
ฉันมีไฟล์จาวาสคริปต์หลายไฟล์และฉันได้กำหนดตัวแปรส่วนกลางในไฟล์ที่โหลดก่อนไฟล์อื่น ๆ เป็นผลให้ไฟล์ทั้งหมดที่โหลดหลังจากครั้งแรกสามารถเข้าถึงตัวแปรส่วนกลางได้ อย่างไรก็ตาม ESLint แสดงตัวแปรส่วนกลางเป็น "ไม่ได้กำหนด" ฉันไม่ต้องการเปลี่ยนกฎของ ESLint และฉันต้องการหาวิธีที่สวยงามในการกำจัดข้อความแสดงข้อผิดพลาดเหล่านี้ เบาะแสใด ๆ ? ขอบคุณ

11
วิธีหลีกเลี่ยงการไม่กำหนดพารามิเตอร์ใหม่เมื่อตั้งค่าคุณสมบัติบนวัตถุ DOM
ฉันมีวิธีการที่จุดประสงค์หลักคือการตั้งค่าคุณสมบัติบนวัตถุ DOM function (el) { el.expando = {}; } ฉันใช้รูปแบบรหัสของ AirBnB ซึ่งทำให้ ESLint เกิดno-param-reassignข้อผิดพลาด: ข้อผิดพลาดการกำหนดให้กับฟังก์ชันพารามิเตอร์ 'el' no-param-reassign ฉันจะจัดการกับวัตถุ DOM ที่ส่งผ่านเป็นอาร์กิวเมนต์ในขณะที่สอดคล้องกับรูปแบบรหัสของ AirBnB ได้อย่างไร มีคนแนะนำให้ใช้การ/* eslint react/prop-types: 0 */อ้างถึงปัญหาอื่นแต่ถ้าฉันจำไม่ผิดสิ่งนี้ใช้ได้ดีสำหรับการตอบสนอง แต่ไม่ใช่สำหรับการจัดการ DOM ดั้งเดิม นอกจากนี้ฉันไม่คิดว่าการเปลี่ยนรูปแบบรหัสเป็นคำตอบ ฉันเชื่อว่าประโยชน์อย่างหนึ่งของการใช้รูปแบบมาตรฐานคือการมีรหัสที่สอดคล้องกันในทุกโปรเจ็กต์และการเปลี่ยนกฎที่จะทำให้รู้สึกเหมือนใช้รูปแบบรหัสหลักอย่าง AirBnB ในทางที่ผิด สำหรับบันทึกที่ผมถาม Airbnb บน GitHub สิ่งที่พวกเขาคิดว่าเป็นวิธีที่จะไปในกรณีเหล่านี้ในรุ่นที่ 766
98 javascript  dom  eslint 

20
ESLint ไม่ทำงานใน VS Code?
ESLint ไม่ทำงานสำหรับฉันใน VS Code ฉันติดตั้งปลั๊กอินใน VS Code แล้วและ ESLint เองก็เป็นการพึ่งพาของนักพัฒนาใน package.json ซึ่งฉันได้ติดตั้งไว้ด้วย ฉันแก้ไขตัวเลือกต่อไปนี้ใน VS Code User Settings: { "eslint.options": { "configFile": "C:/mypath" } } ฉันใช้คำสั่งeslint --initเพื่อเพิ่มพื้นฐาน.eslintrc.jsonในไดเร็กทอรีหลักของแพ็คเกจของฉัน บุคคลอื่นสามารถรับข้อเสนอแนะ ESLint จาก VS Code โดยใช้แพ็คเกจเดียวกันกับไฟล์กำหนดค่า ESLint เดียวกัน ฉันไม่ได้รับข้อเสนอแนะใด ๆ เมื่อละเมิดกฎหลายข้อโดยตรงซึ่งรวมอยู่ในชุดกฎที่แนะนำซึ่งเป็นค่าเริ่มต้นภายใน.eslintrc.jsonไฟล์ ฉันขาดอะไรไป? แก้ไข: ฉันได้ทดสอบโดยใช้ ESLint ผ่านทางบรรทัดคำสั่งและทุกอย่างทำงานได้ตามที่คาดไว้โดยพบข้อผิดพลาดที่ควรมีอย่างไรก็ตามข้อผิดพลาดเดียวกันนี้ไม่เคยปรากฏใน VS Code ปัญหาดูเหมือนจะอยู่ในฝั่งของ VS Code ไม่ใช่ ESLint

1
อะไรคือความแตกต่างระหว่าง prettier-eslint, eslint-plugin-prettier และ eslint-config-prettier?
ฉันต้องการใช้ Prettier และ ESLint ร่วมกัน แต่ฉันพบข้อขัดแย้งบางอย่างโดยใช้ทีละรายการ ฉันเห็นว่ามีสามแพ็คเกจนี้ที่ดูเหมือนจะอนุญาตให้ใช้ควบคู่กันได้: prettier-eslint eslint-plugin-prettier eslint-config-prettier อย่างไรก็ตามฉันไม่แน่ใจว่าควรใช้ชื่อแพ็คเกจใดในชื่อแพ็กเกจเหล่านี้eslintและprettier. ควรใช้ตัวไหนดี?

4
ฉันจะเข้าถึงเมธอด Object.prototype ด้วยตรรกะต่อไปนี้ได้อย่างไร
ฉันใช้ตรรกะต่อไปนี้เพื่อรับสตริง i18n ของคีย์ที่กำหนด export function i18n(key) { if (entries.hasOwnProperty(key)) { return entries[key]; } else if (typeof (Canadarm) !== 'undefined') { try { throw Error(); } catch (e) { Canadarm.error(entries['dataBuildI18nString'] + key, e); } } return entries[key]; } ฉันใช้ ESLint ในโครงการของฉัน ฉันได้รับข้อผิดพลาดต่อไปนี้: อย่าเข้าถึงเมธอด Object.prototype 'hasOwnProperty' จากออบเจ็กต์เป้าหมาย เป็นข้อผิดพลาด' ไม่มีต้นแบบในตัว ' ฉันจะเปลี่ยนรหัสเพื่อแก้ไขข้อผิดพลาดนี้ได้อย่างไร ฉันไม่ต้องการปิดใช้กฎนี้

6
ESLint with React ให้ข้อผิดพลาด "no-unused-vars"
ฉันตั้งค่าeslint& eslint-plugin-react. เมื่อฉันเรียกใช้ ESLint ลินเตอร์จะส่งกลับno-unused-varsข้อผิดพลาดสำหรับส่วนประกอบปฏิกิริยา ฉันสมมติว่าไม่รู้จักว่าฉันกำลังใช้ JSX หรือ React syntax ความคิดใด ๆ ? ตัวอย่าง: app.js import React, { Component } from 'react'; import Header from './header.js'; export default class App extends Component { render() { return ( <div> <Header /> {this.props.children} </div> ); } } ข้อผิดพลาดของ Linter: /my_project/src/components/app.js 1:8 error …

1
Typescript eslint - การนำเข้า / นามสกุลไฟล์“ ts” ที่ขาดหายไป
ฉันมีแอพ Node / Express ที่เรียบง่ายที่ทำด้วย typescript และ eslint ทำให้ฉันมีข้อผิดพลาด Missing file extension "ts" for "./lib/env" import/extensions นี่คือไฟล์. eslintrc ของฉัน { "extends": [ "airbnb", "plugin:@typescript-eslint/recommended", "prettier", "prettier/react", "plugin:import/errors", "plugin:import/warnings", "plugin:import/typescript" ], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint", "prettier", "import"], "settings": { "import/extensions": [".js", ".jsx", ".ts", ".tsx"], "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": …

1
วิธีการสร้าง hook แบบกำหนดเองที่อ้างอิงพึ่งพาได้อย่างไร
ฉันกำลังทำเบ็ดแบบกำหนดเองที่มี toogle เมื่อบางสถานะเปลี่ยนไป คุณควรจะสามารถผ่านสถานะใด ๆ ในอาร์เรย์ import { useState, useEffect } from 'react' const useFlatListUpdate = (dependencies = []) => { const [toggle, setToggle] = useState(false) useEffect(() => { setToggle(t => !t) }, [...dependencies]) return toggle } export default useFlatListUpdate และควรใช้เป็น const toggleFlatList = useFlatListUpdate([search, selectedField /*, anything */]) แต่มันเตือนฉันต่อไปนี้ …

2
วิธีทำให้ eslint สามารถแก้ไขพา ธ ใน jsconfig ได้
ในโปรเจค nextjs ของฉันฉันได้แม็พพา ธjsconfig.jsonเพื่อทำให้การนำเข้าสัมบูรณ์ง่าย { "compilerOptions": { "baseUrl": "./", "paths": { "@/*": ["./*"] }, "target": "es6", "module": "commonjs", "experimentalDecorators": true } } เส้นทางการนำเข้าของฉันมีลักษณะเช่นนี้ import { VIEW } from '@/src/shared/constants'; ฉันeslintrc.jsมีการตั้งค่าที่ระบุเป็น module.exports = { ... , settings: { "import/resolver": { alias: { extensions: [".js"], map: ["@", "."] } } } } …

3
useEffect - ป้องกันการวนซ้ำไม่สิ้นสุดเมื่ออัพเดตสถานะ
ฉันต้องการให้ผู้ใช้สามารถเรียงลำดับรายการสิ่งที่ต้องทำ เมื่อผู้ใช้เลือกรายการจากเมนูแบบเลื่อนมันจะตั้งค่าsortKeyซึ่งจะสร้างรุ่นใหม่setSortedTodosและในทริกเกอร์เปิดและโทรuseEffectsetSortedTodos ด้านล่างนี้เป็นตัวอย่างการทำงานว่าฉันต้องการ แต่ eslint จะแจ้งให้ฉันเพื่อเพิ่มtodosไปยังuseEffectอาร์เรย์ dependancy และถ้าผมทำมันทำให้เกิดห่วงอนันต์ (ตามที่คุณคาดว่าจะได้) const [todos, setTodos] = useState([]); const [sortKey, setSortKey] = useState('title'); const setSortedTodos = useCallback((data) => { const cloned = data.slice(0); const sorted = cloned.sort((a, b) => { const v1 = a[sortKey].toLowerCase(); const v2 = b[sortKey].toLowerCase(); if (v1 < v2) { return …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.