Dlaczego eslint wywala błędy w jQuery

0

Mam projekt w Vue. W sekcji script dodałem jQuery pobrany stąd: https://code.jquery.com/jquery-3.6.1.min.js

<script>
import '../assets/js/jquery.min.js';

export default {
  name: 'HelloWorld',
}
</script>

package.json:

{
  "name": "temp",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.8.3",
    "vue": "^3.2.13",
    "vue-router": "^4.0.3"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-plugin-router": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3"
  }
}

Przy uruchomieniu aplikacji dostaję stos błędów, które wywala eslint:

2:5642   error  Unexpected control character(s) in regular expression: \x1f, \x1f          no-control-regex
  2:6125   error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:6349   error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:6857   error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:7627   error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:9899   error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:10209  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:12223  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:12791  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:12829  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:13812  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:14124  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:15952  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:16223  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:16421  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:16795  error  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  2:17485  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:19305  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:19405  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:19465  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:19649  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:20818  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:22090  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:22201  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:24367  error  Unnecessary escape character: \/                                           no-useless-escape
  2:33979  error  Empty block statement                                                      no-empty
  2:37724  error  Unnecessary escape character: \/                                           no-useless-escape
  2:39373  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:39489  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:39687  error  Empty block statement                                                      no-empty
  2:49240  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:50800  error  Empty block statement                                                      no-empty
  2:59416  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:60585  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:66217  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:69093  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:72971  error  Empty block statement                                                      no-empty
  2:74584  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:76178  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:76958  error  'r.href' is assigned to itself                                             no-self-assign
  2:81796  error  Empty block statement                                                      no-empty
  2:84912  error  Expected a conditional expression and instead saw an assignment            no-cond-assign
  2:89364  error  'define' is not defined                                                    no-undef
  2:89376  error  'define' is not defined                                                    no-undef

Pytanie brzmi: dlaczego Eslint wywala się nowym, zaimportowanym prosto ze strony producenta jQuery?

2
  1. Nie używaj jQuery w tych czasach (chyba, że masz mocny argument za tym np. jakaś paczka go wymaga)
  2. Instaluj paczki za pomocą npm
0

@Markuz:

To nie jest odpowiedź na moje pytanie (nadal jestem ciekawy dlaczego tak jest), ale okej dzięki.

  1. Może to jest problem X Y nie wiem. Po prostu kupiłem template z themeforest i korzysta on zarówno z Bootstrap CSS jak i jQuery. I teraz nie wiem jak mam to zaimportować do projektu w Vue. Próbowałem tak jak opisałem wyżej, ale eslint wywala błąd.

  2. Próbowałem przez npm install, ale w tym przypadku który opisuje nic to nie dało.

1

Eslint wywala błąd ponieważ importujesz plik *.min.js (poczytaj sobie w sieci co to za plik), jak już bardzo chcesz w ten sposób to importuj plik *.js

0

Tak, wiem, wersja uproszczona. Ale taką zastałem w projekcie, który kupiłem z themeforest (dopiero później próbowałem z samodzielnie pobranym plikiem i było to samo), więc muszę ją jakoś zmusić do działania.

Sprawdziłem, też wersję nie min, pobraną stąd: https://code.jquery.com/jquery-3.6.1.js

i nadal dostaję błędy z eslint:

C:\Users\xxx\Documents\projects\temp\src\assets\js\jquery-3.6.1.js
    147:11  error  'Symbol' is already defined as a built-in global variable                  no-redeclare
    694:15  error  Unexpected control character(s) in regular expression: \x1f, \x1f          no-control-regex
    753:45  error  Empty block statement                                                      no-empty
   2070:28  error  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
   3034:31  error  Unnecessary escape character: \/                                           no-useless-escape
   3335:55  error  Empty block statement                                                      no-empty
   4442:18  error  Empty block statement                                                      no-empty
   4904:28  error  Unnecessary escape character: \/                                           no-useless-escape
   5122:18  error  Empty block statement                                                      no-empty
   6347:19  error  Empty block statement                                                      no-empty
   8898:16  error  Empty block statement                                                      no-empty
   9569:22  error  'urlAnchor.href' is assigned to itself                                     no-self-assign
   9996:16  error  Empty block statement                                                      no-empty
  10869:38  error  'define' is not defined                                                    no-undef
  10870:2   error  'define' is not defined                                                    no-undef
1

https://eslint.org/docs/latest/user-guide/configuring/ignoring-code

Może jestes w stanie w konfiguracji EsLinta zignorować jQuery?

Zawsze lepsze to niż próba dłubania w jQuery tak żeby linter nie swirowal 😛

1

Bo zrobiłeś podstawowy błąd. Jak chcesz pisać na vue/angularze/etc. to kupujesz templatkę która ma wersje pod te frameworki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1