javascript - React και Prettier/eslint εφαρμογή εκτέλεση επαναλαμβανόμενου σεναρίου


Η εφαρμογή μου Create React App μεταγλωττίζεται συνεχώς. Εκτός από το γεγονός ότι δεν θα έπρεπε να το κάνει, είναι επίσης πολύ αποσπαστικό.

αυτό είναι το αποτέλεσμα από την προεπιλεγμένη npm run start

Υποθέτω ότι έχει να κάνει με τον έλεγχο του κώδικα, ιδέες;

ΕΠΕΞΕΡΓΑΣΙΑ :

ζητήθηκαν σενάρια:

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "lint:check": "eslint . --max-warnings=0",
    "lint:fix": "eslint . --fix --max-warnings=0",
    "prettier:check": "prettier . --check",
    "prettier:fix": "prettier . --write"
  }

ΕΠΕΞΕΡΓΑΣΙΑ 2: Τώρα έχω αφαιρέσει όλα τα πακέτα eslint από το έργο και έχω διαγράψει τα αρχεία prettier και eslint και η εφαρμογή εξακολουθεί να λειτουργεί όπως φαίνεται στο GIF που επισυνάπτεται σε αυτό


ΕΠΕΞΕΡΓΑΣΙΑ 3:

Για όποιον βλέπει αυτό, ακόμα δεν έχει λυθεί.

  • αφαιρέθηκε πλήρως ο έλεγχος κώδικα
  • Ξαναέκανα όλους τους τύπους και τις διεπαφές TypeScript μου, βεβαιώνοντας ότι αναφέρονται σωστά κ.λπ...
  • Το δοκίμασα σε Mac, Windows, Linux, όλα κάνουν το ίδιο πράγμα.
  • Ξεκίνησα την εφαρμογή εκτός IDE χρησιμοποιώντας Powershell και zsh, κάνουν το ίδιο πράγμα
  • ενημέρωσα όλα τα πακέτα μου
  • πήρε ένα νέο αρχείο tsconfig
  • αφαιρέθηκαν τα node_modules
  • δοκίμασα το yarn και το npm και τα δύο κάνουν το ίδιο

Είμαι σε αδιέξοδο εδώ, τα σχόλια και οι απαντήσεις είναι όλα χρήσιμα αλλά κανένα δεν λύνει το πρόβλημα.

Απάντηση #1

υπάρχουν αρκετά πράγματα που θα μπορούσαν να συμβαίνουν.

Ιδού μερικά από όσα έχω συναντήσει στο παρελθόν:

  1. Υπάρχει ένα αρχείο που συνεχώς αλλάζει. Μπορεί το IDE σας να είναι ανοιχτό και για κάποιο λόγο να αποθηκεύει το αρχείο, ή κάποιο script να το ενημερώνει, ή για κάποιον άλλο λόγο να ενημερώνεται και έτσι να επανεκκινείται η μεταγλώττιση.
  2. Η προσωρινή μνήμη μπορεί να προκαλεί προβλήματα. Δοκιμάστε να εκτελέσετε npm start -- --reset-cache. Ο καθαρισμός της προσωρινής μνήμης μπορεί να είναι χρήσιμος.
  3. Αλλάξτε το περιβάλλον. Δηλαδή, εγκαταστήστε το έργο σε μια καθαρή και φρέσκια εικονική μηχανή.
  4. Απενεργοποιήστε προσωρινά το linting και το prettier. Αφαιρέστε όλες τις εντολές eslint και prettier από το package.json και ξανατρέξτε το έργο.

Απάντηση #2

Μάντεψή μου είναι ότι υπάρχει κάποιο αρχείο κάπου στον κατάλογο του έργου σας που ενημερώνεται συνεχώς. Το webpack ανιχνεύει τις ενημερώσεις και ξαναδημιουργεί το έργο σας κάθε φορά.

Ορίστε μερικοί τρόποι για να δοκιμάσετε αυτή τη θεωρία:

  1. Κατεβάστε μια εφαρμογή παρακολούθησης αρχείων και δείξτε την στο φάκελο του έργου σας για να δείτε αν/ποια αρχεία τροποποιούνται.
  2. Αντί να φορτώνετε την εφαρμογή σας με react-scripts start, δημιουργήστε ένα ελάχιστο webpack.config.js (ή αντιγράψτε το προεπιλεγμένο από το react-scripts) και τρέξτε το έργο σας με webpack serve ως το script εκκίνησής σας. Χρησιμοποιήστε ένα plug-in για να προσδιορίσετε ποια αρχεία ενημερώνονται.