ফাইল 'অ্যাপ / নায়ক.টিস' কনসোলে কোনও মডিউল ত্রুটি নয়, যেখানে কৌণিক 2 দিয়ে ডিরেক্টরি কাঠামোয় ইন্টারফেস ফাইলগুলি সঞ্চয় করতে হবে?


144

আমি angular2এই ঠিকানায় টিউটোরিয়ালটি করছি : https://angular.io/docs/ts/latest/tutorial/toh-pt3.html আমি ফোল্ডারের heroঅধীনে একটি ফাইলের ইন্টারফেসটি appরেখেছি, কনসোলে আমার এই ত্রুটি রয়েছে :

app/app.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
[0] app/hero-detail.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.

আমি যদি কোনও হিরো ফোল্ডারে আমার ইন্টারফেস ফাইলটি ত্রুটিটি অদৃশ্য হয়ে যায়, তবে এটি ডকুমেন্টেশনে উল্লেখ করা হয়নি, আমার আমদানিতে কী সমস্যা?

আমার আমদানি নির্দেশ উভয় (কম্পোনেন্ট ফাইলের beguining কোণে) app.components.tsএবং hero-detail.component.ts:

import {Component} from 'angular2/core';

import {Hero} from './hero';

আমি কি আমার আমদানির নির্দেশকে এর দ্বারা প্রতিস্থাপন করব: import {Hero} from './'; বা কেবল কোনও নায়ক ফোল্ডারে কোডটি রেখেছি ?

উত্তর:


421

আপনি যে সম্পাদকটিতে কোডটি লিখছেন সেটিকে পুনরায় চালু করার চেষ্টা করুন (ভিএস কোড বা মহাকাশ)। সংকলন এবং এটি আবার চালান। আমি একই কাজ করেছি এবং এটি কাজ করেছে।

আপনি যখন আপনার সম্পাদক থেকে বাইরে একটি নতুন শ্রেণি যুক্ত করেন বা আপনার কৌনিক ক্লিপ 'এনজি পরিবেশন' চালিয়ে যান এটি ঘটে। আসলে আপনার সম্পাদক বা 'এনজি সার্ভ' কমান্ড নতুন তৈরি হওয়া ফাইলগুলি সন্ধান করতে না পারে।


4
পুনরায় সূচনা কাজ ... তবে যে কেউ জানেন যে এর মূল কারণটি কী?
গাদ্দিজেশ

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

2
দুঃখজনক হলেও এটি আবার কাজ শুরু করে। এবং এটি আমার জীবনকে দুর্বিষহ করে তুলেছে: যখন কোনও কাজ করে না, তখন আমি জানব না যে এটি আমার ভুল হয়েছে বা নোড / কৌণিক / ভিজ্যুয়াল কোডের কিছু অনির্বচনীয় গণ্ডগোলের কারণে যা আমি ভিজ্যুয়াল কোডটি পুনরায় চালু করলেই এটি কাজ করতে পারে বা সার্ভার পেশাদাররা যেভাবে কাজ করেন না! :-(
অ্যালেক্সিস ডুফরনয়

2
আমি আমার ফাইল সংরক্ষণ করে এটি ঠিক করেছি। # সাদ
ম্যালকম অ্যান্ডারসন

1
সার্ভার এবং সম্পাদক উভয়ই পুনরায় চালু করার চেষ্টা করা হয়নি, সহায়তা করেনি। ক্লাস এবং ফাইলগুলির নাম বদলে দেওয়ার চেষ্টা করেছেন, শেষ পর্যন্ত এটি কাজ করেছে range স্ট্রেঞ্জ কিন্তু সত্য।
এক্সিকিউটেবল

37

আমি একই টিউটোরিয়ালে একই ত্রুটি পেয়েছি কারণ আমি ইন্টারফেসের জন্য এক্সপোর্ট কীওয়ার্ডটি ভুলে গিয়েছিলাম ।


32

সম্ভবত আপনি ক্লাস সংজ্ঞায় "এক্সপোর্ট" যুক্ত করতে ভুলে গেছেন।

->

export class Hero {
     id: number;
     name: string;
   }

এছাড়াও, চেষ্টা করুন

export {Hero} 

আপনার নায়ক.এস ক্লাসের নীচে এবং শেষ অবধি, বড় অক্ষরের ফাইলের নাম এবং শ্রেণীর নাম পরীক্ষা করুন।


1
আমি রফতানি করতে ভুলিনি। আমি ভেবেছিলাম আমার সম্ভবত একটি টাইপো রয়েছে তাই আমি আপনার কোডটি অনুলিপি করে আটকালাম। এটি সমস্যার সমাধান করেছে। তবে তারপরে আমি আমার আগের কোডটিতে ফিরে এসেছি এবং এটিও কাজ করে। কিছু একটা সমস্যা.
মারিউজ.ডব্লিউ

এই উপায়টি কোনও স্বাভাবিক তৈরির চেয়ে ভাল const?
দানি

29

ত্রুটিটি হ'ল কারণ আপনি ফাইলগুলি তৈরি করার পরে সেভ করেন নি।

সম্পাদকের "সমস্ত সংরক্ষণ করুন" ক্লিক করে সমস্ত ফাইল সংরক্ষণ করার চেষ্টা করুন।

নীল রঙ ব্যবহার করে দেখানো "ফাইল" মেনুতে নীচে দেখে যে ফাইলগুলি সংরক্ষণ করা হয়নি সেগুলি আপনি দেখতে পাচ্ছেন।




3

আমি যেমন অভিজ্ঞতা পেয়েছি যখনই আমি আমার প্রকল্পে একটি নতুন ফাইল যুক্ত করি, আমি এনজি সার্ভারটি পুনরায় চালু এবং পুনরায় চালু করতে পেলাম।


2

টিউটোরিয়ালটিতে আপনি সমস্ত উপাদান এবং ইন্টারফেস ফাইল একই ডিরেক্টরিতে রেখেছেন তাই আপেক্ষিক আমদানি './hero'যদি আপনি অন্য কোনও জায়গায় যেতে চান তবে আপনাকে এটি পরিবর্তন করতে হবে।

সম্পাদনা: কোডটি এখনও কাজ করতে পারে তবে সংকলকটি অভিযোগ করবে কারণ আপনি একটি ভুল অবস্থান থেকে আমদানির চেষ্টা করছেন। আমি কেবল আপনার কাঠামোর উপর ভিত্তি করে আমদানি পরিবর্তন করব। উদাহরণ স্বরূপ:

app/
  component1/
    component1.ts
  compnent2/
    component2.ts
  hero.ts

আমি কেবল আমদানিতে পরিবর্তন করব import {Hero} from '../hero'


আমার কোড পুরোপুরি যদিও কাজ করছে, যাই হোক না কেন আমি লিখি, import {Hero} from './';বা import {Hero} from './hero';। আমি ভাবছি ইন্টারফেস ফাইলগুলি সঞ্চয় করার সর্বোত্তম উপায় কী?
সানিট্রামস

দুঃখিত @ জাইজলে, নিম্নচেতনার কারণ আমি মনে করি না যে এটি ওপি'র সমস্যাটির সমাধান করে
স্টিভ ডান

2

এই ত্রুটিটি এর ফেইলারের কারণে ঘটে ng serve নতুনভাবে যুক্ত হওয়া ফাইলটি স্বয়ংক্রিয়ভাবে । এটি ঠিক করতে, কেবল আপনার সার্ভারটি পুনরায় চালু করুন।

যদিও পাঠ্য সম্পাদক বা আইডিই পুনরায় খোলার ফলে এই সমস্যার সমাধান হয়, তবে অনেকেই প্রকল্পটি পুনরায় খোলার সমস্ত চাপের মধ্যে দিয়ে যেতে চান না। পাঠ্য সম্পাদকটি বন্ধ না করে এটিকে ঠিক করতে ...

টার্মিনালে যেখানে সার্ভার চলছে,

  • ctrl+Cসার্ভারটি বন্ধ করার জন্য টিপুন ,
  • সার্ভারটি আবার শুরু করুন: ng serve

এটা কাজ করা উচিত।


1

আমি একই সমস্যা সম্মুখীন।

আমি আমার সার্ভারটি পুনরায় চালু করেছি এবং এটি ঠিক আছে works বাগের মতো মনে হচ্ছে।


1

পরিবেশন পুনরায় আরম্ভ করুন

আমারো একই ইস্যু ছিল. ত্রুটিটি অনুসন্ধান করার জন্য, আমি ত্রুটিটি নির্বাচন করেছি এবং ঘটনাক্রমে একটি সিটিআরএল + সি (অনুলিপি করার অর্থ) করেছি, যা এনজি পরিবেশন বন্ধ করে দিয়েছে। এনজি সার্ভিস পুনরায় চালু করার সময় ত্রুটিটি অদৃশ্য হয়ে গেছে :)। কখনও কখনও টাইপস এবং চর্বিযুক্ত আঙ্গুলগুলি সাহায্য করে ;-)


1

সম্পাদক ইস্যু। যখন আপনি নতুন ফাইলগুলি তৈরি করেন যা কৌণিক সিএলআই ব্যবহার করে না, তখন আপনার নিজের নতুন পরিবর্তন সম্পর্কে সচেতন করতে ফাইল> সেভ অল (ভিএস কোড) এ যান তা নিশ্চিত করুন sure তারপরে আবার "এনজি সার্ভ - ওপেন" চালান। এটা আমার সমাধান। আশা করি এটা সাহায্য করবে


0

আমি ভিএসসিতে একই ইস্যুতে ছুটে এসেছি। সম্পাদক পুনরায় চালু এবং আবার অ্যাপ্লিকেশন শুরু। এটা ভাল কাজ করে।


এটি এমন কোনও উত্তর নয় যা কোনও অন্তর্দৃষ্টি দেবে। এমনকি যদি আপনি মনে করেন যে পুনরায় চালু করা এই সমস্যার উত্তর, তবে কেন এটি হয় তা আপনার বলা উচিত।
এম--

0

আমি দেখতে পেলাম যে আমি ভাল সংকলন পাওয়ার আগে আমাকে কেবল ভিজ্যুয়াল স্টুডিও কোডটি পুনরায় চালু করতে হবে না তবে নোড সার্ভার প্রক্রিয়াটিও করা হয়েছিল।


0

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

পিএস: আমি উইন্ডোজ মেশিনে সমস্যার মুখোমুখি হয়েছি এবং যখন আমি মডিউলটিকে নতুন ফোল্ডারে স্থানান্তরিত করেছি তখন সমস্যাটি হয়েছিল।


0

আমারও একি দশা. হিরোর বদলে হিরো লিখেছিলাম

নিম্নলিখিতটি আমদানি করুন:

import { Hero } from '../Hero';

0

কখনও কখনও .ts ফাইলটি সংরক্ষণ না করা হলে এই ত্রুটি ঘটে। সুতরাং নিশ্চিত করুন যে প্রকল্পের সমস্ত ফাইল সংরক্ষিত আছে অন্যথায় সম্পাদক পুনরায় চালু করার চেষ্টা করুন।


0

কমান্ড প্রম্পটটি ওপেন করুন, অ্যাপ্লিকেশন ফোল্ডারে যান, যেমন D:\angular-tour-of-heroes\src\app

তারপরে নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি নতুন ফাইল তৈরি করুন:

ng generate class hero

এটি একটি hero.tsফাইল তৈরি করবে । তারপরে আপনি এক্সপোর্ট কোডটি পেস্ট করতে পারেন এবং ত্রুটিটি চলে গেছে।


0

আপনার সব ফাইল সংরক্ষণ করা উচিত। উদাহরণস্বরূপ, এইচটিএমএল, সিএসএস, কম্পোনেন্ট.টিস, মডিউল, মডেল ফাইলগুলি। প্রতিটি ফাইল খুলুন এবং ctrl-S টিপুন। এটি আমার পক্ষে কাজ করেছে


0

আমার ক্ষেত্রে আমি 'অ্যাপ / নায়ক.এসটি' ফাইলটিতে পরিবর্তনগুলি সংরক্ষণ করতে ভুলে গিয়েছিলাম, এনজি সার্ভিস এবং পুনরায় চালু করার পরে সমস্যার সমাধান হয়ে গেছে।


0

আমার রেজোলিউশন,

আমার ক্ষেত্রে, আমি একটি মডেল ফাইল তৈরি করেছি এবং এটিকে ফাঁকা রেখেছি,

সুতরাং যখন আমি এটি অন্য মডেলটিতে আমদানি করি তখন এটি আমাকে ত্রুটি দেয়। সুতরাং আপনি যখন মডেল টাইপস্ক্রিপ্ট ফাইল তৈরি করবেন তখন সংজ্ঞাটি লিখুন।


0

পরিবর্তন

import{observable} from 'rxjs/observable'; 

প্রতি

import{observable} from 'rxjs';

সংকলনের আগে নিশ্চিত করুন যে আপনার কাছে .TS ফাইল সংরক্ষণ করা আছে।


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