ওয়েবপ্যাক: "নাম সহ একাধিক মডিউল রয়েছে যা কেবলমাত্র কেসিংয়ের ক্ষেত্রে পৃথক হয়" তবে রেফারেন্সযুক্ত মডিউলগুলি অভিন্ন


93

আমি ওয়েবপ্যাকটি ৩.৮.১ ব্যবহার করছি এবং নিম্নলিখিত বিল্ড সতর্কতার বেশ কয়েকটি উদাহরণ পেয়েছি:

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

বিভ্রান্তিকর বিষয় হ'ল 'দুটি' ফাইলগুলি কেবল একটি ফাইল — ডিরেক্টরিতে কোনও দুটি ফাইল নেই যার নামগুলির ক্ষেত্রে কেবল ভিন্ন হয়।

আমি আরও লক্ষ্য করেছি যে আমার হট রিলোডারটি প্রায়শই কোনও ফাইলের পরিবর্তনগুলি গ্রহণ করে না যদি এটি এই সতর্কতা দ্বারা প্রভাবিত হয়।

এই সমস্যাটির কারণ কী হতে পারে?


এই চেক আউট, এটি আপনার সমস্যা সমাধানের পারে stackoverflow.com/questions/61054565/...
Sarthak Saklecha

উত্তর:


161

এটি সাধারণত একটি বিয়োগফল টাইপের ফলাফল।

উদাহরণস্বরূপ, আপনি যেমন আপনার মডিউল আমদানি করা হয়, তাহলে import Vue from 'vue', import Vuex from 'vuex'

আপনার ফাইলগুলির মাধ্যমে যান এবং আপনি কোথায় ব্যবহার করেছেন তা পরীক্ষা করুন from 'Vue'বা from 'Vuex'- আপনার আমদানির বিবৃতিতে ঠিক একই বড় বড় অক্ষর (বড় হাতের অক্ষর) ব্যবহার নিশ্চিত করুন।

ত্রুটি বর্ণনাটি আরও স্পষ্টভাবে লেখা উচিত ছিল, তবে যা আমি ব্যাখ্যা করেছি তা ওয়েব প্যাক কমান্ডে এই ত্রুটির জন্য প্রতিবারই আমার সমস্যার কারণ হয়ে দাঁড়িয়েছে।


10
আপনি ঠিক বলেছেন, এটি পথের নাম ছিল, মডিউলটির নাম নয় এবং এটিই আমাকে ফেলে দিয়েছে। আমার NavBar/MainMenuItemMobile.jsনবাবারে 'বি' থাকত ছোট ছোট হাতের বাচ্চা হওয়া উচিত ছিল।
tcelferact

4
খুব সুন্দরভাবে, আমার ক্ষেত্রে আমি আমদানি import React, { Component } from 'React';করার সময় প্রতিক্রিয়া এবং ট্রো ত্রুটি ব্যবহার করেছি: ঠিক করতেfrom 'react
rflmyk

4
আমার সমস্যাটি ছিল যে একটি অংশে আমি রেফারেন্স দিচ্ছিলাম components/vue.jsযখন অন্যটিতে আমি রেফারেন্স করছিলামcomponents/Vue.js
ডেনিস

আপনার মন্তব্য @ adc17 আমাকে ক্রিপ্টিক আউটপুট বুঝতে সহায়তা করেছে। ওয়েবপ্যাক গিটহাব উইকিতে এই সমাধানটি পড়ুন এবং সবকিছু সঠিক দেখাচ্ছে বলে এটি উপলব্ধি করতে পারিনি। আপনি যখন খুব ছোট টেক্সট সেট রেখেছেন তখন এটি 'এল' এর মতো 'এল' দেখতে কেমন অবাক লাগে ...
গাই পার্ক

4
কেবল যুক্ত করার জন্য - যখন আমার এই ত্রুটি হয়েছিল তখন এটি ছিল কারণ আমার পথে GitBashএকটি ছোট হাতের অক্ষর ছিল usersযেখানে Webpackএকটি বড় হাতের প্রত্যাশা ছিল Users
ঘুমন্ত_ডেজ

98

এই সমস্যাটির মুখোমুখি হওয়া এবং ভাগ্যবিহীন প্রস্তাবিত সংশোধনগুলি চেষ্টা করে এমন অন্যদের জন্য, এখানে আরও একটি সম্ভাব্য সমাধান রয়েছে।

আপনার টার্মিনালে আপনি যে পথটি ব্যবহার করেছেন তাতে সঠিক মূলধন রয়েছে তা নিশ্চিত করুন। উদাহরণস্বরূপ, যদি আপনি উইন্ডোজে গিট ব্যাশ ব্যবহার করছেন এবং আপনার প্রকল্পের নিম্নলিখিত পথ রয়েছে:

C:\MyProjects\project-X

আপনি যদি এটি ব্যবহার করে অ্যাক্সেস করেন cd /c/myprojects/project-x (মূলধনের মামলার অভাবটি নোট করুন) এবং চালনা করেন তবে npm startআপনি এই সমস্যার মুখোমুখি হতে পারেন।

সমাধানটি হ'ল প্রকল্পের পথ কেস-সংবেদনশীল বিবেচনা করুন এবং এটি নীচে ব্যবহার করুন:

cd /C/MyProjects/project-X


11
এটাই আমার সমস্যা। ধন্যবাদ!
ব্যবহারকারী 2138568

4
তুমি আমার দিন বাঁচিয়েছ! অনেক ধন্যবাদ!
জেফ চেন

4
বাহ .... আপনি আমাকে শুধু সাহায্য করেছেন! আমি উইন্ডোজে প্রাথমিকভাবে গিট ব্যাশ ব্যবহার করি। আমার ভুল কেসিং ছিল, একবার এটি পরিবর্তন করার পরে, এটি কার্যকর হয়েছিল। এটি লক্ষণীয়, পাওয়ারশেলের অনুপযুক্ত কেসিংয়ের ফলে একই ত্রুটি ঘটবে না, মনে হচ্ছে পথটি পর্দার আড়ালে কোথাও উপযুক্ত ক্ষেত্রে রূপান্তরিত হচ্ছে।
রায়ান ইস্টব্রুক

4
আমার এই সঠিক সমস্যা ছিল; তবে, বিভিন্ন পাথ কেসিং সহ বিভিন্ন সময়ে বিভিন্ন প্যাকেজ ইনস্টল করার পরে, আমার node_modulesফোল্ডারটি হোস করা হয়েছিল। আমি এটিকে পুরোপুরি মুছলাম, আবার দৌড়াল npm installএবং সমস্ত সতর্কতা চলে গেল।
নট

4
তুমি আমার দিন বাঁচিয়েছ!
হিরুনি নিমন্তি

18

এটি আমার কাছে কৌণিক on. এ ঘটেছিল এটি মূল এবং ছোট অক্ষরের অপব্যবহার ত্রুটি যা আপনার আদর্শ বা পাঠ্য সম্পাদক এড়াতে পারে। আমি ব্যবহার করতাম

import { PayComponent }      from './payment/pay/pay.component';

পরিবর্তে

import { PayComponent }      from './Payment/pay/pay.component';

শুধু "পি" এবং "পি" কল্পনা করুন। গুডলাক


4
আমার জন্য এটি উইন্ডোজ 10datatables.net-fixedheaderDataTables.net-fixedheader
জোনাস গ্রেজার

14

ওএমজি আমি শেষ পর্যন্ত আমার সমস্যার সমাধান খুঁজে পেয়েছি।

আমি ব্যবহার করছি বনাম কোড টার্মিনাল এবং এটি ব্যবহার ছিল ডেস্কটপ এর পরিবর্তে ডেস্কটপ প্রম্পট এর পাথ:

C:\Users\Hans\desktop\NODE JS\mysite>

এটি ঠিক করতে, আমাকে কেবলমাত্র প্রকল্পের ফোল্ডারটি বন্ধ করে আবার খুলতে হয়েছিল:

File -> Close Folder
File -> Open Folder

এবং এখন ভিএস কোড টার্মিনাল সঠিক প্রম্পট পাথটি ব্যবহার করছে।


4

কৌণিক 6 প্রকল্পে আমার একই সমস্যা ছিল।

এই সমস্যাটি ঘটেছিল কারণ মডিউলটিতে উপাদানগুলি আমদানি করার সময়

import { ManageExamComponent } from './manage-Exam.component'; 

আমি পরিচালনা-পরীক্ষার যেখানে পরীক্ষার মধ্যে মত লিখেছি বড় হাতের অক্ষর এবং webpack বুঝতে ছোট চিঠি

যত তাড়াতাড়ি আমি ব্যবহার করেছি

import { ManageExamComponent } from './manage-exam.component'; 

ছোট এবং সমস্যা সমাধানে ব্যবহৃত পরীক্ষার।


3

আমি npm startউইন্ডো মেশিনে vscode টার্মিনাল চালানোর চেষ্টা করার পরে এই সমস্যাটি আমার সাথে ঘটে । এবং সমস্যাটির /desktop/flatsomeপরিবর্তে /Desktop/flatsomeকেবলমাত্র আপনার ভিএসকোড টার্মিনালে Dলোয়ারকেস সহ ডেস্কটপের পরিবর্তে একটি মূলধন দিয়ে ডেস্কটপে যাওয়ার পথটি পরিবর্তন করা হয়েছিলd


ধন্যবাদ!. পাগল হয়ে যাচ্ছিল।
ওয়ালহি

2

আমরা উইন্ডোজে প্রতিক্রিয়া চালাই এবং আমার এক বিকাশকারী এটি দেখেছিল, তবে অন্য কারও কাছেই সমস্যা ছিল না।

আমি তাদের প্রজেক্টের একটি উপ ডিরেক্টরিতে ভিএস কোড খুলতে দেখেছি, তারপরে cdছোট ডিরেক্টরি (প্রকৃত মিশ্র ক্ষেত্রে পরিবর্তে) দিয়ে প্রকল্প ডিরেক্টরিতে একটি কাজ করেছি , তারপরে রান করুন npm start

আপনি c:\someproject\somedirউইন্ডোজ এক্সপ্লোরার হিসাবে টার্মিনালে লোয়ারকেসে ডিরেক্টরী নামটি দেখতে পেতেন c:\SomeProject\SomeDir

আমি অবাক হয়ে গিয়েছিলাম উইন্ডোজ কমান্ড টার্মিনাল আপনাকে এটি করতে দেয়।


4
এটি কারণ ... উইন্ডোজ ফাইল সিস্টেমটি / কেস সংবেদনশীল ছিল। (কারণ এটি উইন্ডোজ 10 এ আপনি এটি কেস সংবেদনশীল হিসাবে সেট করতে পারেন, আমি দেখি)
কোডি G

1
// 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'

আশা করি দুটি উপায় আপনার সমস্যার সমাধান করবে。


1

আপনি যদি ভিএস কোড ব্যবহার করে থাকেন এবং আপনি " এনপিএম রান দেব " করছেন তবে সংশ্লিষ্ট প্রকল্পের ফোল্ডারটি ভিএস কোডে খোলা হয়নি তবে এই 3 টি সতর্কতা আসবে।

সুতরাং সমাধানটি হ'ল: প্রথমে সংশ্লিষ্ট প্রকল্প ফোল্ডারটি খুলুন তারপরে কেবল "এনপিএম রান দেব" করুন


1

হ্যাঁ এটি ঘটে যদি আপনি একই নাম ব্যবহার করেন তবে কেস পরিবর্তিত হয়: উদাহরণস্বরূপ, আপনি ব্যবহার করেছেন

import React from 'React';

পরিবর্তে:

import React from 'react';

1

Next.js এর লিঙ্কটিতে আপনার যদি এই ত্রুটি থাকে (প্রতিক্রিয়াতে):

import Link from 'next/Link'

পরিবর্তে

import Link from 'next/link'

0

আমার এই সতর্কতাটিও রয়েছে, তবে আমার সমস্যাটি হ'ল উদাহরণস্বরূপ, প্রতিক্রিয়া প্রকল্পের ফাইল ডিরেক্টরি রয়েছে:

**/src/containers/PageOne/index.js
**/src/containers/PageTWO/pageOneAction.js

**/src/containers/PageOne/index.js
**/src/containers/PageTWO/pageTWOAction.js

এবং একটি অনুরূপ সতর্কতা হবে। কারণ আপনি action.jsবাদ দিয়ে একই ফাইলের নাম (যেমন fold ফোল্ডারগুলিতে) ব্যবহার না করাই ভাল index.jsotherwise

এই সতর্কতাটি সমাধান করার জন্য, আমরা এটি করতে পারি:

**/src/containers/PageOne/index.js
**/src/containers/PageOne/pageOneAction.js

**/src/containers/PageTWO/index.js
**/src/containers/PageTWO/pageTWOAction.js

এটি আমার অভিজ্ঞতা, আশা করি এটি কারও সহায়ক হতে পারে।


0

আমার অনুরূপ ত্রুটি ছিল তবে অন্যান্য উত্তর দ্বারা বর্ণিত ঠিক তেমনটি নয়। আমি আশা করি আমার উত্তরটি কাউকে সাহায্য করতে পারে।

আমি দুটি উপাদান (কৌণিক 7 প্রকল্প) এ একটি ফাইল আমদানি করছিলাম:

উপাদান 1:

LANGUAGES = require("../../models/LANGUAGES.json");

উপাদান 2:

LANGUAGES = require("../../models/LANGUAGES.JSON");

এটি একটি বোকামি ভুল: এখানে সমস্যা হ'ল আমি একই ফাইলের জন্য বিভিন্ন মূলধন বর্ণের সাথে দুটি ভিন্ন ভিন্ন প্রয়োজন (এটি একটি সতর্কতা উত্পন্ন করে) generated

কীভাবে সমস্যা সমাধান করবেন? একই মডেল ব্যবহার করুন।

উপাদান 1:

LANGUAGES = require("../../models/LANGUAGES.json");

উপাদান 2:

LANGUAGES = require("../../models/LANGUAGES.json");

বা

উপাদান 1:

LANGUAGES = require("../../models/LANGUAGES.JSON");

উপাদান 2:

LANGUAGES = require("../../models/LANGUAGES.JSON");

0

অনুরূপ সমস্যা, তবে আমার সমস্যাটি ছিল প্যাকেজগুলিতে ইনস্টল C:\Users\<username>\AppData\Local\Yarn। সেই ফোল্ডারটি মোছা এবং আমি যে বিশ্বব্যাপী প্যাকেজগুলি চেয়েছিলাম তা পুনরায় যুক্ত করা সমস্যার সমাধান করেছে।


0

আমার একই সমস্যা ছিল, আমি আমার প্রতিক্রিয়া ফোল্ডারের নামটি ইউআই হিসাবে রেখেছি এবং ওয়েবপ্যাক দ্বারা যে পথটি উত্পন্ন হয়েছিল তা কোনওরকমে এটি ছোট হাতের অক্ষরে তৈরি করা হয়েছিল।

সুতরাং, আমি এটা নতুন নামকরণ UI অর্থাৎ ছোট হাতের পরিবর্তে UI 'তে , যে আমার যুদ্ধরত যান এখুনি প্রণীত।

ধন্যবাদ


0

আপনি যদি ভিজ্যুয়াল স্টুডিও কোড এবং গিটব্যাশ এ এটি দেখতে পাচ্ছেন তবে সেটিংসে যান এবং সি: \ (বড় হাতের সি) অনুসন্ধান করুন এবং গিটব্যাশ.এক্সে এর জন্য পথটি সি: change এ পরিবর্তন করুন এবং এটি চলে যাবে।


0

আমার ক্ষেত্রে (উইন,, ভিএসকোড, কৌণিক I) আমি সর্বত্র ভুল মামলার পথ স্থির করার পরেও সমস্যাটি বজায় রয়েছে। মনে হচ্ছে ওয়েবপ্যাকটি কোনওভাবে পথটিকে ক্যাশে করে, তাই এটি সমাধান করার জন্য:

  • ফোল্ডার বা ফাইলটির নাম পরিবর্তন করুন যা সমস্যার থেকে আলাদা কিছু ঘটায়
  • নির্মাণ
  • ত্রুটি পেয়েছে
  • পুনরায় নামকরণ করুন
  • নির্মাণ
  • সাফল্য

0

আমারও একই সমস্যা ছিল। আমি ডিরেক্টরেড নেভিগেট করেছিলাম ট্রেড_ভি 3, যখন আসল ডিরেক্টরিটি ট্রেড_ভি 3 ছিল। ডিরেক্টরি পরিবর্তন করার পরে এই ত্রুটিটি ছুঁড়েছে না।


0

লেটার ড্রাইভের বিষয়টিও গুরুত্বপূর্ণ। আমার ক্ষেত্রে, উইন্ডোজ 10-এর উপরের কেস 'সি' ছিল এবং ফাইলটিতে আমার কম কেস 'সি' ছিল।


0

ভ্যু.জেজেসে আমি একই সমস্যার মুখোমুখি হয়েছি । অবশেষে দেখা গেল যে আমি দুটি স্থানে বিভিন্ন নেমস্পেস সহ একটি উপাদান আমদানি করেছি।

import Step1 from '~/Components/Application/Step1'

import Step1 from './Step1'

দ্বিতীয়টি পরিবর্তন করে এটি স্থির করে:

import Step1 from '~/Components/Application/Step1'

আশা করি এটি আপনার কয়েকজনকে সহায়তা করবে ...


0

একই সমস্যা আমার কাছে ঘটল, কারণ আমি আমার প্রকল্প ফোল্ডারের নাম পরিবর্তন করে "মাইক্লাস" করে রেখেছি এবং গিট ব্যাশে এটি কোনও কারণে "মাইক্লাস" ছিল। আমি যখন "মি" নিম্নে পরিবর্তিত হয়েছিলাম, বার্তাটি বন্ধ হয়ে গেল।


0

এই সমাধানগুলির কোনওোটাই আমার পক্ষে কাজ করেনি। কি ছিল:

  • সমস্যাযুক্ত ফাইলগুলি মুছুন (তবে সেগুলির অন্য কোথাও একটি ব্যাকআপ তৈরি করুন!)।
  • গিট পরিবর্তন প্রতিশ্রুতিবদ্ধ।
  • আপনার ব্যাকআপ থেকে আবার একই ফাইল যুক্ত করুন।
  • নতুন ফাইলগুলি গিটে প্রতিশ্রুতিবদ্ধ ... সমস্যা সমাধান!

আমার ক্ষেত্রে আমি কেবল আমদানি করা মডিউলগুলি সহ আমার ফাইলের নামের মূলধনকে পরিবর্তন করেছি। তারা ফাইল সিস্টেমে (ওএসএক্স ফাইন্ডার, ব্যাশ) এবং কোড সম্পাদকে (ভিএস কোড) লোয়ার-কেস হিসাবে প্রদর্শিত হচ্ছে। যাইহোক, ভিএস কোডে ফাইলগুলি খোলানো আমাকে কোড সম্পাদক ট্যাবে পুরানো ফাইলের নামটি দেখায়। আমি ফাইলগুলি মুছতে এবং তারপরে পুনরায় যুক্ত করার চেষ্টা করেছি। এটি কার্যকর হয়নি - নতুন যুক্ত হওয়া ফাইলগুলি এখনও সম্পাদক ট্যাবগুলিতে পুরানো নামগুলি প্রদর্শন করছিল এবং আমার বিল্ডগুলি এখনও ভেঙে যাচ্ছে।

তারপরে কয়েক ঘন্টা ব্যর্থ স্থির চেষ্টা করার পরে আমি আবিষ্কার করেছিলাম যে গিট ফাইলের মূলধনকে পরিবর্তন হিসাবে পরিবর্তন হিসাবে বিবেচনা করে না, সুতরাং এটি ফাইলের নামগুলি আসলে কখনই পরিবর্তন করে নি:

আমি গিটের ক্ষেত্রে কেবল কেস-সংবেদনশীল ফাইলের নাম পরিবর্তন করব?

সুতরাং আমি সমস্যাযুক্ত ফাইলগুলি মুছে ফেলেছি, গিটকে প্রতিশ্রুতিবদ্ধ করেছি, তাদের পুনরায় যুক্ত এবং পুনরায় প্রতিশ্রুতিবদ্ধ - এবং এটি কার্যকর। কোনও সতর্কতা এবং বিল্ড ত্রুটিগুলি অদৃশ্য হয়ে গেছে।


0

আমার একই সমস্যা ছিল এবং তারপরে আমি জানতে পারি যে আমার vue ফাইলটির নাম ছোট হাতের অক্ষরে রাখা হয়েছে: ইভেন্ট.vue। এটি সমাধানের জন্য আমি এর নাম পরিবর্তন করে ইভেন্ট.ভুতে রেখেছি এবং আমি যেখানে এটি আমদানি করছি আপডেট করেছি এবং এটি কাজ করে। আমদানির বিবৃতিটির জন্য এটি দেখতে এরকম দেখাচ্ছে:

আগে

'@ / উপাদান / নিউজএন্ডএভেন্টস / ইভেন্ট' থেকে ইভেন্টটি আমদানি করুন ফাইলটির নাম পরিবর্তন করার পরে এটি অবশ্যই দেখতে হবে:

'@ / উপাদান / নিউজএন্ডএভেন্টস / ইভেন্ট' থেকে ইভেন্ট আমদানি করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.