কৌণিক 8 - অলস লোডিং মডিউল: ত্রুটি TS1323: গতিশীল আমদানি তখনই সমর্থিত হয় যখন '- মডুল' পতাকাটি 'কমনজ' বা 'এসেক্সট' হয়


117

যখন আমি কৌনিক 8 থেকে কৌনিক 8 এ আপডেট করেছি, অলস লোডিং মডিউলগুলির জন্য ত্রুটি পেয়ে

আমি বিকল্পগুলি চেষ্টা করেছি, যা কৌণিক আপগ্রেডেশন গাইডে রয়েছে

নীচের পরিবর্তনগুলি করেছেন:

আগে

    loadChildren: '../feature/path/sample- 
                         tage.module#SameTagModule'

পরে

   loadChildren: () => import('../feature/path/sample- 
                      tags.module').then(m => m.CreateLinksModule)

ত্রুটি টিএস 1323: গতিশীল আমদানি কেবল তখনই সমর্থিত হয় যখন '- মডুল' পতাকাটি 'কমনজ' বা 'এসনেসেক্সট' হয়।

উত্তর:


225

আপনি ডায়নামিক আমদানি ব্যবহার করছেন যাতে আপনার কোডটিকে esnextমডিউলে টার্গেট করতে আপনার পছন্দসই tsconfig.json পরিবর্তন করতে হবে

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "esnext", // add this line
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

Tsconfig.app.json এর মডিউল এবং টার্গেট কনফিগার এর মতো কিছু নেই তাও পরীক্ষা করে দেখুন

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/app",
    "types": []
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "src/test.ts",
    "src/**/*.spec.ts"
  ]
}

4
ng newএটি ডিফল্টরূপে ব্যবহার করে না। কোন কারণ আছে?
ইমপ্যাটিকা পোস্ট করুন

4
এটি এজ, ক্রোম, ফায়ারফক্স এবং আই 11 এ কাজ করছে বলে মনে হচ্ছে যখন আমি পলিফিলগুলিতে আইই 11 বিভাগটি অসম্পূর্ণ করি যাতে আমি খুশি।
ইমপ্যাটিকা

13
আমাকে "module": "es2015"আমার tsconfig.app.jsonফাইলটি থেকে লাইনটি সরিয়ে ফেলতে হয়েছিল
রানবুক

5
@ আরনবুক, আমারও একই সমস্যা ছিল কিন্তু লাইনটি সরিয়ে নেই, আমি কেবল এটি পরিবর্তন করেছিলাম "module": "esnext"
আলফা ব্রাভো

tsconfig.json ফাইল আপডেট করার পরেও একই সমস্যা ইভেন্টটির মুখোমুখি
গৌরব আগরওয়াল

27

@ টনির অ্যাঞ্জারটিতে কেবল যুক্ত করার জন্য, আপনার tsconfig.app.json- তেও ("মডিউল": "এসেনেক্সট" এ পরিবর্তন করতে হবে) করতে হবে। আমার ক্ষেত্রে tsconfig.json ইতিমধ্যে মডিউল হিসাবে সংযুক্তি ব্যবহার করছিল তবে tsconfig.app.json এখনও es2015 ব্যবহার করে যা এই ত্রুটির কারণ হয়েছিল।


4
আমরা উভয় ফাইলগুলিতে "মডিউল": "এসেনেক্সট" যুক্ত এড়াতে পারি, আমরা এটি tsconfig.json এ রাখতে পারি তবে tsconfig.app.json এ রাখতে পারি না, কারণ এটি ইতিমধ্যে tsconfig.json প্রসারিত করছে।
রাজুপেদা

23

@ টনির উত্তরে আমার অভিজ্ঞতা যুক্ত করতে চাই। tsconfig.jsonএটি পরিবর্তনের পরে এখনও একটি ত্রুটি দেখায় (লাল আন্ডারলাইন)। কেবল সম্পাদকটি পুনরায় চালু করার পরে (আমি ভিএসকোড ব্যবহার করেছি) আমি লাল আন্ডারলাইনটি অদৃশ্য হয়ে যেতে দেখেছি।


আমার কাছে tsconfig.app.json ফাইল নেই। আমি একটি তৈরি করা উচিত?
চিহ্নিত করুন

হ্যাঁ, দয়া করে এটি উল্লেখ করুন। stackoverflow.com/questions/36916989/...
তাই JinYuan

খুব সহায়ক ছিল। ধন্যবাদ :)
প্রবীণ কুমার পলাই

5
আইডিইএ ইন্টেলিজে আমার একই সমস্যা ছিল। আপনাকে প্রকল্পটি আবার খুলতে হবে।
নাইম্যাসজনিক

হ্যাঁ আপনি আমার দিন বাঁচিয়েছেন।
শৈলেশ প্রতাপওয়ার

14

আমি মনে করি এই কাজ করতে সঠিক ভাবে নিয়ন্ত্রন হয় tsconfig.app.jsonবদলে tsconfig.json

tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "esnext",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

tsconfig.app.jsonঅ্যাঙ্গুলার ওয়ার্কস্পেসের মূলের নীচে বসে থাকা অ্যাপ্লিকেশনের সাথে নির্দিষ্ট টাইপস্ক্রিপ্ট কনফিগারেশন ফাইল । তাই বিদ্যমান যে আপনি যদি একটি কৌণিক কর্মক্ষেত্র আছে নির্মাণ করা হয় একাধিক এতে অ্যাপ্লিকেশান, আপনি টাইপ করা বিষয় কনফিগারেশন আলাদাভাবে প্রতিটি অ্যাপের জন্য অপ্রয়োজনীয় কনফিগারেশন বৈশিষ্ট্য যে অ্যাপ্লিকেশনগুলি (অত: পর মধ্যবর্তী ওভারল্যাপ না লিখেই নিয়ন্ত্রন করতে পারেন সম্পত্তি)।tsconfig.app.jsonextends

প্রযুক্তিগতভাবে, আপনার মোটেই দরকার নেই tsconfig.app.json। আপনি এটা মুছে থাকেন তবে আপনি স্থাপন করতে হবে "module": "esnext"যে tsconfig.json। আপনি যদি এটি সেখানে রাখেন তবে এটি অগ্রাধিকার নেবে tsconfig.json, সুতরাং আপনার কেবল "module":"esnext"লাইনটি যুক্ত করতে হবে tsconfig.app.json


হ্যাঁ, আমাকে tsconfig.json এবং tsconfig.app.json উভয়টিতে মডিউল: 'এসেনেক্সট' যুক্ত করতে হয়েছিল
আরডিভি

0

আমি নিম্নলিখিত পদক্ষেপ 1: "মডিউল": "es2015" থেকে "মডিউল": tsconfig.json এ "এএমডি" করে এই ত্রুটিটি সমাধান করি

পদক্ষেপ 2: অ্যাপ রুট ডিরেক্টরিতে একটি নতুন ফাইল tsconfig.app.json তৈরি করুন, টনি এনজিওর কপির কোড এবং এতে পেস্ট করুন, তারপরে এই সমস্যাটির সমাধান হবে।



0

আমি এই সমস্যাটি কেবলমাত্র আমার tsconfig.app.json ফাইলটিতে "অন্তর্ভুক্ত": ["src / ** / *। Ts"] যোগ করে সমাধান করেছি।

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