J'utilise webpack 3.8.1 et je reçois plusieurs instances de l'avertissement de construction suivant:
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
Ce qui est déroutant, c'est que les «deux» fichiers référencés ne sont qu'un seul fichier - il n'y a pas deux fichiers dans le répertoire dont les noms ne diffèrent que par casse.
J'ai également remarqué que mon chargeur à chaud ne prend souvent pas en compte les modifications apportées à un fichier s'il est affecté par ces avertissements.
Qu'est-ce qui pourrait causer ce problème?
webpack
webpack-hot-middleware
tcelferact
la source
la source
Réponses:
Ceci est généralement le résultat d'une minuscule faute de frappe.
Par exemple, si vous importez vos modules comme
import Vue from 'vue'
,import Vuex from 'vuex'
.Parcourez vos fichiers et vérifiez où vous avez utilisé
from 'Vue'
oufrom 'Vuex'
- assurez-vous d'utiliser exactement les mêmes majuscules (majuscules) que dans vos instructions d'importation.Les descriptions d'erreur auraient dû être écrites plus clairement, mais ce que j'ai expliqué a été à chaque fois la cause de mon problème pour cette erreur sur les commandes webpack.
la source
NavBar/MainMenuItemMobile.js
- le «b» dans Navbar aurait dû être en minuscule.import React, { Component } from 'React';
from 'react
components/vue.js
tandis que dans un autre je faisais référencecomponents/Vue.js
GitBash
avait une minusculeusers
oùWebpack
attendait une majusculeUsers
.Pour les autres qui sont confrontés à ce problème et ont essayé les correctifs suggérés sans succès, voici une autre solution possible.
Assurez-vous que le chemin que vous avez utilisé dans votre terminal a la bonne capitalisation. Par exemple, si vous utilisez git bash sous Windows et que votre projet a le chemin suivant:
C:\MyProjects\project-X
Si vous y accédez en utilisant
cd /c/myprojects/project-x
(notez le manque de majuscules), puis exécutez,npm start
vous risquez de rencontrer ce problème.La solution serait de considérer le chemin du projet sensible à la casse et de l'utiliser comme suit:
cd /C/MyProjects/project-X
la source
node_modules
dossier a été arrosé. Je l'ai complètement supprimé, relancénpm install
et tous les avertissements ont disparu.Cela m'est arrivé sur angulaire 6. C'est une erreur d'utilisation abusive de majuscules et minuscules que votre éditeur de texte ou d'ide peut ignorer. J'AI UTILISÉ
AU LIEU DE
IMAGINEZ JUSTE "P" et "p". Bonne chance.
la source
datatables.net-fixedheader
(correct) au lieu deDataTables.net-fixedheader
(faux) sur Windows 10.OMG j'ai enfin trouvé la solution à mon problème.
J'utilise le terminal VS Code et il utilisait le bureau au lieu du bureau dans le chemin de l'invite:
Pour y remédier, il me suffisait de fermer le dossier du projet et de le rouvrir:
Et maintenant, le terminal de code VS utilise le chemin d'invite correct.
la source
J'ai eu le même problème dans le projet angular 6.
Ce problème s'est produit car lors de l'importation d'un composant dans le module comme
J'ai écrit comme gérer-Exam où l'examen est en majuscule et le webpack comprend la petite lettre .
Dès que j'ai utilisé
examen utilisé en petit et problème résolu.
la source
ce problème m'arrive lorsque j'essaie d'exécuter
npm start
dans le terminal vscode sur une machine Windows. et le problème était/desktop/flatsome
plutôt de/Desktop/flatsome
simplement changer le chemin d'accès au bureau avec une majusculeD
au lieu de bureau avec des minusculesd
dans votre terminal vscodela source
Nous exécutons react sur Windows et l'un de mes développeurs l'a vu, mais personne d'autre n'a eu le problème.
Je les ai regardés ouvrir VS Code dans un sous-répertoire du projet, puis faire un
cd
dans le répertoire du projet en minuscules (au lieu du cas mixte réel), puis exécuternpm start
.Vous pouvez en fait voir le nom du répertoire en minuscules dans le terminal,
c:\someproject\somedir
mais dans l'explorateur Windows, il l'estc:\SomeProject\SomeDir
.J'ai été surpris que le terminal de commande Windows vous permette de le faire.
la source
// 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'
J'espère que les deux façons résoudront votre problème。
la source
Si vous utilisez VS Code et que vous faites " npm run dev " mais que le dossier de projet respectif n'est pas ouvert dans VS Code, ces 3 avertissements se produiront.
La solution est donc la suivante: ouvrez d'abord le dossier de projet respectif, puis ne faites que "npm run dev"
la source
Oui, cela se produit si vous utilisez avez utilisé le même nom mais avec la casse modifiée: par exemple, vous avez utilisé
import React from 'React';
Au lieu de:
import React from 'react';
la source
J'ai aussi cet avertissement, mais mon problème est que, par exemple, il y a le répertoire de fichiers du projet React:
Et il y aura un avertissement similaire. Parce que vous feriez mieux de ne pas utiliser le même nom de fichier (comme
action.js
dans ces dossiers) à l'exclusionindex.js
, sinon cela peut entraîner un comportement inattendu lors de la compilation sur un système de fichiers avec une autre sémantique de casse.Pour résoudre cet avertissement, nous pourrions le faire:
C'est mon expérience, j'espère que cela pourrait aider quelqu'un.
la source
J'ai eu une erreur similaire mais pas exactement la même décrite par d'autres réponses. J'espère que ma réponse pourra aider quelqu'un.
J'importais un fichier en deux composants (projet angular 7):
Composant 1:
Composante 2:
C'est une erreur stupide: le problème ici est que j'utilise deux exigences différentes sur le même fichier avec des lettres majuscules différentes (cela a généré un avertissement).
Comment résoudre le problème ? Utilisez le même modèle.
Composant 1:
Composante 2:
OU
Composant 1:
Composante 2:
la source
Problème similaire, mais mon problème était l'installation de packages dans
C:\Users\<username>\AppData\Local\Yarn
. La suppression de ce dossier et l'ajout de nouveaux packages globaux que je souhaitais ont résolu le problème.la source
J'ai eu le même problème, j'avais nommé mon dossier de réaction en tant qu'interface utilisateur et le chemin d'accès généré par Webpack le faisait en quelque sorte en minuscules.
Donc, je l'ai renommé en ui, c'est-à-dire en minuscules au lieu d' interface utilisateur , ce qui a fait disparaître ma guerre tout de suite.
Merci.
la source
Si vous voyez cela dans Visual Studio Code et Gitbash, accédez aux paramètres et recherchez C: \ (C majuscule) et modifiez le chemin d'accès de Gitbash.exe en c: \ et il disparaîtra.
la source
Dans mon cas (Win7, VSCode, Angular 6), le problème persiste même après avoir corrigé le mauvais chemin d'accès partout. On dirait que webpack cache le chemin, alors pour le résoudre:
la source
J'ai aussi eu le même problème. J'avais navigué vers un répertoire Trade_v3, alors que le répertoire actuel était Trade_V3. Après avoir changé le répertoire, cette erreur n'a pas provoqué.
la source
Le cas du lecteur de lettres compte également. Dans mon cas, Windows 10 avait la majuscule «C» tandis que j'avais minuscule «c» dans le fichier.
la source
J'ai fait face même problème dans Vue.js . Finalement, il s'est avéré que j'ai importé un composant à deux endroits avec des espaces de noms différents.
Correction du problème en changeant le deuxième en:
J'espère que cela aidera certains d'entre vous ...
la source
Le même problème m'est arrivé, car j'ai changé le nom de mon dossier de projet en "Myclass", et dans git bash c'était "myclass" pour une raison quelconque. Lorsque je suis passé à un "m" inférieur, le message s'est arrêté.
la source
Aucune de ces solutions n'a fonctionné pour moi. Ce qui a fait était:
Dans mon cas, j'avais simplement changé la capitalisation de mes noms de fichiers contenant les modules importés. Ils apparaissaient en minuscules dans le système de fichiers (OSX Finder, Bash) et dans l'éditeur de code (VS Code). Cependant, l'ouverture des fichiers en code VS me montrait toujours l'ancien nom de fichier dans l'onglet de l'éditeur de code. J'ai essayé de supprimer complètement les fichiers, puis de les rajouter. Cela n'a pas fonctionné - les fichiers nouvellement ajoutés affichaient toujours les anciens noms dans les onglets de l'éditeur, et mes versions étaient toujours en panne.
Ensuite, après quelques heures de tentatives de correction futiles, j'ai découvert que Git ne considérait pas les changements de capitalisation des fichiers comme des changements, donc il n'a jamais changé ces noms de fichiers:
Comment valider uniquement les changements de nom de fichier sensibles à la casse dans Git?
J'ai donc supprimé les fichiers problématiques, commis à Git, les ai rajoutés et réengagés - et cela a fonctionné. Aucun avertissement et les erreurs de construction ont disparu.
la source
Si vous avez cette erreur dans le lien de next.js (dans React):
AU LIEU DE
la source