Ich verwende Webpack 3.8.1 und erhalte mehrere Instanzen der folgenden Build-Warnung:
WARNING in ./src/Components/NavBar/MainMenuItemMobile.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* /Users/path/to/babel-loader/lib/index.js!/Users/path/to/NavBar/MainMenuItemMobile.js
Used by 1 module(s), i. e.
/Users/path/to/babel-loader/lib/index.js!/Users/path/to/NavBar/ConstructedMainMenuItems.js
* /Users/path/to/babel-loader/lib/index.js!/Users/path/to/Navbar/MainMenuItemMobile.js
Used by 1 module(s), i. e.
/Users/path/to/babel-loader/lib/index.js!/Users/path/to/Navbar/ConstructedMainMenuItems.js
.....
(webpack)-hot-middleware/client.js ./src/index.js
Was verwirrend ist, ist, dass die 'zwei' Dateien, auf die verwiesen wird, nur eine Datei sind - es gibt keine zwei Dateien im Verzeichnis, deren Namen sich nur für den Fall unterscheiden.
Ich habe auch festgestellt, dass mein Hot Reloader häufig keine Änderungen an einer Datei aufnimmt, wenn diese von diesen Warnungen betroffen sind.
Was könnte dieses Problem verursachen?
webpack
webpack-hot-middleware
tcelferact
quelle
quelle
Antworten:
Dies ist normalerweise das Ergebnis eines winzigen Tippfehlers.
Zum Beispiel, wenn Sie Ihre Module wie importieren
import Vue from 'vue'
,import Vuex from 'vuex'
.Durchsuchen Sie Ihre Dateien und überprüfen Sie, wo Sie sie verwendet haben,
from 'Vue'
oderfrom 'Vuex'
- stellen Sie sicher, dass Sie genau die gleichen Großbuchstaben (Großbuchstaben) wie in Ihren Importanweisungen verwenden.Die Fehlerbeschreibungen hätten klarer geschrieben werden sollen, aber was ich erklärt habe, war jedes Mal die Ursache meines Problems für diesen Fehler bei Webpack-Befehlen.
quelle
NavBar/MainMenuItemMobile.js
- das 'b' in Navbar hätte Kleinbuchstaben sein sollen.import React, { Component } from 'React';
um justfrom 'react
components/vue.js
während ich in einer anderen referenziertecomponents/Vue.js
GitBash
einen Klein hatte ,users
woWebpack
eine Groß erwartetUsers
.Für andere, die mit diesem Problem konfrontiert sind und die vorgeschlagenen Korrekturen ohne Erfolg ausprobiert haben, ist hier eine andere mögliche Lösung.
Stellen Sie sicher, dass der in Ihrem Terminal verwendete Pfad die richtige Groß- und Kleinschreibung aufweist. Wenn Sie beispielsweise git bash unter Windows verwenden und Ihr Projekt den folgenden Pfad hat:
C:\MyProjects\project-X
Wenn Sie mit
cd /c/myprojects/project-x
(beachten Sie das Fehlen von Kapitalfällen) darauf zugreifen und dann ausführen,npm start
kann dieses Problem auftreten.Die Lösung wäre, den Projektpfad zwischen Groß- und Kleinschreibung zu unterscheiden und ihn wie folgt zu verwenden:
cd /C/MyProjects/project-X
quelle
node_modules
Ordner abgespritzt. Ich habe es komplett gelöscht, erneut ausgeführtnpm install
und alle Warnungen sind verschwunden.Es ist mir auf Winkel 6 passiert. Es ist ein Fehler beim Groß- und Kleinbuchstabenmissbrauch, den Ihre Idee oder Ihr Texteditor möglicherweise ignoriert. ICH BENUTZTE
ANSTATT
Stellen Sie sich nur "P" und "p" vor. Viel Glück.
quelle
datatables.net-fixedheader
(richtig) stattDataTables.net-fixedheader
(falsch) unter Windows 10.OMG Ich habe endlich die Lösung für mein Problem gefunden.
Ich verwende das VS-Code-Terminal und es wurde Desktop anstelle von Desktop im Pfad der Eingabeaufforderung verwendet:
Um das Problem zu beheben, musste ich nur den Projektordner schließen und erneut öffnen:
Und jetzt verwendet das VS Code Terminal den richtigen Eingabeaufforderungspfad.
quelle
Ich hatte das gleiche Problem in Angular 6-Projekt.
Dieses Problem trat auf, weil beim Importieren von Komponenten in das Modul wie
Ich habe wie Manage-Prüfung geschrieben , wo Prüfung in ist Großbuchstaben und WebPACK versteht Minuskel .
Sobald ich verwendet habe
verwendete Prüfung in kleinen und Problem gelöst.
quelle
Dieses Problem tritt auf, wenn ich versuche, das
npm start
vscode-Terminal auf einem Windows-Computer auszuführen. und das Problem war/desktop/flatsome
stattdessen,/Desktop/flatsome
einfach den Pfad zu Desktop mit einem GroßbuchstabenD
anstelle von Desktop mit Kleinbuchstabend
in Ihrem vscode-Terminal zu ändernquelle
Wir reagieren unter Windows und einer meiner Entwickler hat dies gesehen, aber niemand anderes hatte das Problem.
Ich habe gesehen, wie sie VS-Code in einem Unterverzeichnis des Projekts geöffnet haben, dann ein
cd
Projektverzeichnis mit Kleinbuchstaben (anstelle des eigentlichen gemischten Großbuchstabens) erstellt und dann ausgeführtnpm start
.Sie können den Verzeichnisnamen im Terminal tatsächlich in Kleinbuchstaben sehen
c:\someproject\somedir
, im Windows Explorer jedochc:\SomeProject\SomeDir
.Ich war überrascht, dass das Windows-Befehlsterminal dies ermöglicht.
quelle
// waring import Test from './TestHome' // you can rename your file with camel-case and import import Test from './test-home' // or you should fix the path import Test from '@/views/TestHome'
Hoffe, die beiden Möglichkeiten lösen Ihr Problem。
quelle
Wenn Sie VS Code verwenden und " npm run dev " ausführen , der entsprechende Projektordner jedoch nicht in VS Code geöffnet ist, werden diese 3 Warnungen angezeigt.
Die Lösung lautet also: Öffnen Sie zuerst den entsprechenden Projektordner und führen Sie dann nur "npm run dev" aus.
quelle
Ja, dies passiert, wenn Sie denselben Namen verwendet haben, die Groß- und Kleinschreibung jedoch geändert wurde: Sie haben beispielsweise verwendet
import React from 'React';
Anstatt:
import React from 'react';
quelle
Ich habe auch diese Warnung, aber mein Problem ist, dass es zum Beispiel das Dateiverzeichnis des React-Projekts gibt:
Und es wird eine ähnliche Warnung geben. Da Sie besser nicht denselben Dateinamen (wie
action.js
in diesen Ordnern) ausschließen solltenindex.js
, kann dies zu unerwartetem Verhalten beim Kompilieren auf einem Dateisystem mit einer anderen Groß- / Kleinschreibung führen.Um diese Warnung zu lösen, könnten wir das tun:
Dies ist meine Erfahrung, hoffe es könnte jemandem helfen.
quelle
Ich hatte einen ähnlichen Fehler, aber nicht genau den gleichen, den andere Antworten beschrieben haben. Ich hoffe meine Antwort kann jemandem helfen.
Ich habe eine Datei in zwei Komponenten importiert (Angular 7-Projekt):
Komponente 1:
Komponente 2:
Dies ist ein dummer Fehler: Das Problem hier ist, dass ich zwei verschiedene Anforderungen für dieselbe Datei mit unterschiedlichen Großbuchstaben verwende (es wurde eine Warnung generiert).
Wie löse ich das Problem? Verwenden Sie das gleiche Modell.
Komponente 1:
Komponente 2:
ODER
Komponente 1:
Komponente 2:
quelle
Ähnliches Problem, aber mein Problem waren Pakete, in denen installiert wurde
C:\Users\<username>\AppData\Local\Yarn
. Durch Löschen dieses Ordners und erneutes Hinzufügen der von mir gewünschten globalen Pakete wurde das Problem behoben.quelle
Ich hatte das gleiche Problem, ich hatte meinen Reaktionsordner als Benutzeroberfläche bezeichnet und der Pfad, der vom Webpack generiert wurde, machte es irgendwie in Kleinbuchstaben.
Also habe ich es in ui umbenannt, dh in Kleinbuchstaben anstelle von UI , was dazu führte, dass mein Krieg sofort losging.
Vielen Dank.
quelle
Wenn dies in Visual Studio Code und Gitbash angezeigt wird, gehen Sie zu den Einstellungen, suchen Sie nach C: \ (Großbuchstaben C) und ändern Sie den Pfad für die Datei Gitbash.exe in c: \.
quelle
In meinem Fall (Win7, VSCode, Angular 6) bleibt das Problem bestehen, auch wenn ich überall den falschen Fallpfad behoben habe. Sieht so aus, als würde das Webpack den Pfad irgendwie zwischenspeichern, um ihn zu lösen:
quelle
Ich hatte auch das gleiche Problem. Ich hatte zu einem Verzeichnis Trade_v3 navigiert, während das eigentliche Verzeichnis Trade_V3 war. Nach dem Ändern des Verzeichnisses wurde dieser Fehler nicht ausgelöst.
quelle
Der Fall des Briefantriebs spielt ebenfalls eine Rolle. In meinem Fall hatte Windows 10 den Großbuchstaben 'C', während ich den Kleinbuchstaben 'c' in der Datei hatte.
quelle
Ich konfrontierte gleiches Problem in Vue.js . Schließlich stellte sich heraus, dass ich eine Komponente an zwei Stellen mit unterschiedlichen Namespaces importierte.
Es wurde behoben, indem der zweite geändert wurde in:
Hoffentlich hilft es einigen von euch ...
quelle
Das gleiche Problem ist mir passiert, weil ich den Namen meines Projektordners in "Myclass" geändert habe und es in git bash aus irgendeinem Grund "myclass" war. Als ich auf "m" umstellte, wurde die Nachricht gestoppt.
quelle
Keine dieser Lösungen hat bei mir funktioniert. Was tat war:
In meinem Fall hatte ich einfach die Großschreibung meiner Dateinamen geändert, die die importierten Module enthielten. Sie wurden im Dateisystem (OSX Finder, Bash) und im Code-Editor (VS Code) als Kleinbuchstaben angezeigt. Beim Öffnen der Dateien im VS-Code wurde mir jedoch immer noch der alte Dateiname auf der Registerkarte Code-Editor angezeigt. Ich habe versucht, die Dateien vollständig zu löschen und sie dann erneut hinzuzufügen. Dies funktionierte nicht - die neu hinzugefügten Dateien zeigten immer noch die alten Namen in den Editor-Registerkarten an, und meine Builds waren immer noch fehlerhaft.
Nach einigen Stunden vergeblicher Korrekturversuche stellte ich dann fest, dass Git Änderungen an der Dateikapitalisierung nicht als Änderungen betrachtet, sodass diese Dateinamen nie geändert wurden:
Wie kann ich nur Dateinamenänderungen in Git zwischen Groß- und Kleinschreibung festlegen?
Also habe ich die problematischen Dateien gelöscht, für Git festgeschrieben, sie erneut hinzugefügt und erneut festgeschrieben - und es hat funktioniert. Keine Warnungen und die Build-Fehler verschwanden.
quelle
Wenn Sie diesen Fehler im Link von next.js (in React) haben:
ANSTATT
quelle