টাইপস্ক্রিপ্ট ত্রুটি পেয়েছে TS2304: নাম 'প্রয়োজনীয়' খুঁজে পাচ্ছে না


462

আমি আমার প্রথম টাইপস্ক্রিপ্ট এবং ডেফিনিটি টাইপড নোড.জেএস অ্যাপ্লিকেশনটি আপ এবং চলমান এবং কিছু ত্রুটিতে চালিত হওয়ার চেষ্টা করছি।

"TS2304: আমি একটি সাধারণ টাইপস্ক্রিপ্ট নোড.জেএস পৃষ্ঠাটি ট্রান্সপ্লাই করার চেষ্টা করার পরে 'প্রয়োজনীয়' নামটি খুঁজে পাচ্ছি না I স্ট্যাক ওভারফ্লোতে আমি এই ত্রুটির আরও বেশ কয়েকটি ঘটনা পড়েছি এবং আমার মনে হয় না আমার একই রকম সমস্যা আছে। আমি শেল প্রম্পটে কমান্ডটি চালাচ্ছি:

tsc movie.server.model.ts.

এই ফাইলের বিষয়বস্তুগুলি হ'ল:

'use strict';

/// <reference path="typings/tsd.d.ts" />

/*    movie.server.model.ts - definition of movie schema */

var mongoose = require('mongoose'),
Schema = mongoose.Schema;

var foo = 'test';

ত্রুটি নিক্ষেপ করা হয় var mongoose=require('mongoose') লাইনে ।

টাইপিং / tsd.d.ts ফাইলের বিষয়বস্তু হ'ল:

/// <reference path="node/node.d.ts" />
/// <reference path="requirejs/require.d.ts" />

.D.ts ফাইলের রেফারেন্সগুলি উপযুক্ত ফোল্ডারে স্থাপন করা হয়েছিল এবং কমান্ড দ্বারা টাইপিং / tsd.d.ts এ যুক্ত হয়েছিল:

tsd install node --save
tsd install require --save

উত্পাদিত .js ফাইলটি ঠিক কাজ করছে বলে মনে হচ্ছে, তাই আমি ত্রুটিটিকে উপেক্ষা করতে পারি। তবে কেন এই ত্রুটি ঘটে এবং আমি কী ভুল করছি তা জেনে আমি প্রশংসা করব।


1
when I attempt to transpile a simple ts node page<আপনি কীভাবে
স্থানান্তর করছেন

1
আমি কমান্ড লাইনে কেবল কমান্ডটি লিখে চলেছি: tsc মুভি.সর্ভার.মোডেল.টিস। এফডব্লিউআইডাব্লু এটি একটি ম্যাকের সাথে রয়েছে।
জেরিকুর

1
আইডিইতে আমি ভিজ্যুয়াল স্টুডিও কোডটি ব্যবহার করেছিলাম একই সমস্যাটি ঘটেছে। আমি এটি আমার অন্যান্য আইডিই, ইন্টেলিজজে চেষ্টা করব। আমি ধরে নিয়েছি যে কমান্ড লাইনে নামানোই এই সমস্যাটি পরীক্ষা করার সবচেয়ে সহজ উপায়।
জেরিকুর


কীভাবে import { mongoose } from 'mongoose'?
FisNaN

উত্তর:


742

দ্রুত এবং ময়লা

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

declare var require: any

প্রকারলিপি ২.x

আপনি যদি টাইপস্ক্রিপ্ট ২.x ব্যবহার করছেন তবে আপনার আর টাইপিং বা ডেফিনিটি টাইপ ইনস্টল করার দরকার নেই। কেবলমাত্র নীচের প্যাকেজটি ইনস্টল করুন।

npm install @types/node --save-dev

ঘোষণা ফাইলগুলির ভবিষ্যত (6/15/2016)

টাইপিংস এবং টিএসডি-এর মতো সরঞ্জামগুলি কাজ চালিয়ে যাবে এবং আমরা মসৃণ রূপান্তরটি নিশ্চিত করতে সেই সম্প্রদায়ের পাশাপাশি কাজ করব।

আপনার src /tsconfig.app.json যাচাই বা সম্পাদনা করুন যাতে এতে নিম্নলিখিতগুলি থাকে:

...
"types": [ "node" ],
"typeRoots": [ "../node_modules/@types" ]
...

নিশ্চিত হয়ে নিন যে এসসিআর ফোল্ডারে থাকা ফাইলটি এবং কোনও রুট অ্যাপ ফোল্ডারে নেই।

ডিফল্টরূপে, @ টাইপস এর অধীনে যে কোনও প্যাকেজ ইতিমধ্যে আপনার বিল্ডে অন্তর্ভুক্ত রয়েছে যদি না আপনি এই বিকল্পগুলির মধ্যে দুটি নির্দিষ্ট করে থাকেন। আরও পড়ুন

প্রকারলিপি 1.x

টাইপিং (ডিফিনিটলি টাইপডের প্রতিস্থাপন) ব্যবহার করে আপনি গিটহাব সংগ্রহস্থল থেকে সরাসরি কোনও সংজ্ঞা নির্দিষ্ট করতে পারেন।

টাইপগুলি ইনস্টল করুন

npm install typings -g --save-dev

ডিফিনিটলিটাইপের টাইপগুলি থেকে প্রয়োজনীয় জেএস ধরণের সংজ্ঞা ইনস্টল করুন

typings install dt~node --save --global

Webpack

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

এনপিএম ইনস্টল --save-dev @ প্রকারের / ওয়েবপ্যাক-এনভ

tsconfig.jsonনিম্নলিখিতগুলির সাথে আপনার আপডেট করুন compilerOptions:

"types": [
      "webpack-env"
    ]

এটি আপনাকে require.ensureএবং অন্যান্য ওয়েবপ্যাকের সুনির্দিষ্ট ফাংশনগুলি করতে দেয়।

কৌণিক সিএলআই

সি এল এলির সাহায্যে আপনি উপরের ওয়েবপ্যাক পদক্ষেপটি অনুসরণ করতে এবং আপনার "প্রকার" ব্লক যুক্ত করতে পারেন tsconfig.app.json

বিকল্পভাবে, আপনি পূর্বনির্ধারিত nodeপ্রকারগুলি ব্যবহার করতে পারেন । মনে রাখবেন এটিতে আপনার ক্লায়েন্ট-পাশের কোডের অতিরিক্ত ধরণের অন্তর্ভুক্ত হবে যা সত্যই উপলভ্য নয়।

"compilerOptions": {
    // other options
    "types": [
      "node"
    ]
  }

4
কেন কেবল "টাইপিংগুলি ইনস্টল করুন - সেভ - অ্যাম্বিয়েন্টের প্রয়োজন"?
কুটোমর

1
আমি এই সঙ্গে একটি ত্রুটি পেতে Unable to find "require" ("npm") in the registry। নোডজেএস টাইপিংয়ের বৃহত্তর সেটটির একটি অংশের প্রয়োজন?
dcsan

7
আমি জানি যে এটি প্রয়োজনীয় জেএসের টাইপের সাথে সম্পর্কিত, নোডটি অন্তর্নির্মিত নয় require। ES5 আউটপুট টার্গেটের কিছু পরিবর্তনের জন্য এটির সঠিক উত্তর হতে পারে তবে সাধারণ ক্ষেত্রে নয়।
dcsan

1
দয়া করে জর্দান অ্যাঞ্জার ব্যবহার করুন। আমার ক্ষেত্রে আমি নিম্নলিখিত @ টাইপগুলি ইনস্টল করেছিলাম তাই আমি যুক্ত করলাম -> "প্রকারগুলি": ["নোড", "এস6-প্রতিশ্রুতি", "কোর-জেএস", "জুঁই"] <- tsconfig.json
Lothre1 এ সংকলনের জন্য

1
@ সিগাল হ'ল টাইপস্ক্রিপ্ট @types/nodeসংজ্ঞা। নোড এগুলি অন্তর্ভুক্ত করে না, তাদেরও করা উচিত নয়।
cgatian

103

টাইপস্ক্রিপ্ট ২.x এর জন্য এখন দুটি ধাপ রয়েছে:

  1. সংজ্ঞায়িত করে এমন একটি প্যাকেজ ইনস্টল করুন require। উদাহরণ স্বরূপ:

    npm install @types/node --save-dev
  2. এটিকে বিশ্বব্যাপী অন্তর্ভুক্ত করতে টাইপস্ক্রিপ্টটি বলুন tsconfig.json:

    {
        "compilerOptions": {
            "types": ["node"]
        }
    }

দ্বিতীয় ধাপটি কেবলমাত্র তখনই গুরুত্বপূর্ণ যদি আপনার বিশ্বব্যাপী উপলভ্য কার্যাদি যেমন অ্যাক্সেসের প্রয়োজন হয় require । বেশিরভাগ প্যাকেজগুলির জন্য, আপনার কেবল import package from 'package'প্যাটার্নটি ব্যবহার করা উচিত । উপরের tsconfig.json ধরণের অ্যারেতে প্রতিটি প্যাকেজ অন্তর্ভুক্ত করার দরকার নেই।


1
আপনি কিছু এস 5 গিথুব. com/ মাইক্রোসফ্ট / টাইপসক্রিপ্ট / উইকি /… এর জন্য lib ব্যবহার করতে পারেন : EQ : "lib": ["ডোম", "এস 5", "এস2015. প্রোমাইজ", "এস2015.colલેક્શન"]
লিও কেসিরো

আমি যোগ "types": ["jasmine", "hammerjs"]করার পরে পাশাপাশি যোগ করতে tsconfig.jsহ্যাড node। ধন্যবাদ জর্ডান
মাইকুমাস

আমি যখন এই পরামর্শটি অনুসরণ করি তখন এটি আমার সমস্ত আমদানি ভেঙে দেয়। উদাহরণস্বরূপ, import express from "express";এখন আমাকে বলছে যে এর জন্য আমাকে @ টাইপ / এক্সপ্রেস ইনস্টল করার বা একটি .d.ts ফাইল যুক্ত করতে হবে।
অ্যাসিস্টিথমেসিভ

4
আপনি আরও থাকে, তাহলে @types/...চেয়ে মাত্র @types/nodeফোল্ডারের জুড়বেন না "types": ["node"]মধ্যে tsconfig.jsonকারণ টাইপ করা বিষয় compiller অন্যান্য না উল্লেখ প্যাকেজ বাদ হবে। এটি আপনার আইডিইগুলির ধরণের সমাধানকে ভেঙে দেবে। এখানে লেখা আছে typescriptlang.org/docs/handbook/...
Marecky

এই সমাধানটি আমার জন্য সমস্যা ছাড়াই একটি আয়নিক প্রকল্পে কাজ করে, আপনাকে ধন্যবাদ :)
ফ্রাঙ্ক স্যান্ডি

71

আপনি পারেন

declare var require: any

অথবা, আরও বিস্তৃত সহায়তার জন্য, DefinitelyType এর প্রয়োজনীয়.d.ts ব্যবহার করুন

এছাড়াও, পরিবর্তে var mongoose = require('mongoose'), আপনি নিম্নলিখিত চেষ্টা করতে পারেন

import mongoose from 'mongoose' // or
import mongoose = require('mongoose')

1
শুধু টাইপস্ক্রিপ্টে ব্যবহার সম্পর্কে use strict: বাসরাত উত্তর এবং টাইপস্ক্রিপ্ট ফাইলটিতে " স্ট্রাইক ব্যবহার করুন"? । এটি use strictটাইপস্ক্রিপ্ট ব্যবহার করা প্রয়োজন ।
ইউজিন বিচেল

এইচএম, সেই উত্তর অনুসারে এটি প্রয়োজনীয় নয় তবে এটি ব্যবহার করা উপকারী হতে পারে "use strict", আমি আমার উত্তরটি সম্পাদনা করব
5 ᆺ ᆼ

ঘোষিত ভার ব্যবহার করা প্রকৃত সমস্যাটি সমাধান করে না; শুধু এটি লুকিয়ে আছে।
আমার স্ট্যাক ওভারফ্লোথ

@ ঠিক ঠিক, 2015 সালের এটি মনে রাখবেন, এবং আমিও যুক্তি দিয়েছি যে ঠিক করার জন্য কোনও "সমস্যা" নেই। টাইপস্ক্রিপ্ট 2.0 এখন অবশ্যই এই মার্জিতভাবে সমাধান করে
17 ᆺ ᆼ

12

এই উত্তরটি আধুনিক সেটআপগুলির সাথে সম্পর্কিত (টাইপস্ক্রিপ্ট ২.x, ওয়েবপ্যাক > ২.x)

আপনি না এই ধরনের setTimout বিভিন্ন আগমন মূল্যবোধ, ইত্যাদি আসলে কিছু জটিল, ইনস্টল করতে হবে @ ধরনের / নোড (যা Node.js ধরনের সব এবং ফ্রন্ট-এন্ড কোড অপ্রাসঙ্গিক ..

আপনি কি ইনস্টল করতে @ ধরনের প্রয়োজন / webpack-env

npm i -D @types/webpack-env

যা ওয়েবপ্যাকের রানটাইম স্বাক্ষর দেয় (সহ require,require.ensure ইত্যাদি)

এছাড়াও নিশ্চিত করুন যে আপনার tsconfig.json ফাইলের কোনও 'টাইপ' অ্যারে নেই -> যা এটি আপনার নোড_মডিউল / @ টাইপ ফোল্ডারে সমস্ত ধরণের সংজ্ঞা বাছাই করবে।

আপনি যদি প্রকারের সন্ধানকে সীমাবদ্ধ রাখতে চান তবে আপনি টাইপরুট সম্পত্তিটি নোড_মডিউল / @ টাইপগুলিতে সেট করতে পারেন।


1
এটি গুরুত্বপূর্ণ মন্তব্যটিও নিশ্চিত করে নিন যে আপনার tsconfig.json এর কোনও 'টাইপ' অ্যারে নেই -> যা এটি আপনার নোড_মডিউল / @ টাইপ ফোল্ডারে সমস্ত ধরণের সংজ্ঞা বাছাই করবে
মেরেকি

ওয়েবপ্যাক পদ্ধতির সাথে কি অন্য কোনও পদক্ষেপের প্রয়োজন আছে? আমি একটি কম্পাইল ত্রুটি `ত্রুটি TS2580 পাবেন: খুঁজে পাওয়া যাচ্ছে না নাম 'require'.`
jaycer

10

পরিবর্তে:

'use strict';

/// <reference path="typings/tsd.d.ts" />

চেষ্টা করুন:

/// <reference path="typings/tsd.d.ts" />

'use strict';

প্রথম রেফারেন্স পাথ।


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

8

আমার ক্ষেত্রে এটি একটি দুর্দান্ত মূর্খ সমস্যা ছিল, যেখানে এটি src/tsconfig.app.jsonওভাররাইড করছেtsconfig.json সেটিংসটি ।

সুতরাং, আমার এটি ছিল tsconfig.json:

    "types": [
      "node"
    ]

এবং এই এক src/tsconfig.app.json:

    "types": []

আমি আশা করি যে কেউ এই সহায়ক হিসাবে খুঁজে পেয়েছে, কারণ এই ত্রুটিটি আমাকে ধূসর চুলের জন্য সৃষ্টি করছিল।


8

কেবলমাত্র রেফারেন্সের জন্য, আমি কৌনিক 7.১.৪ , টাইপস্ক্রিপ্ট ৩.১..6 ব্যবহার করছি এবং কেবলমাত্র আমাকে যা করতে হবে তা হল এই লাইনটি যুক্ত করা tsconfig.json:

    "types": ["node"], // within compilerOptions

ওটা করেছিলাম. তবুও এই ত্রুটিটি পেয়েছে: নাম 'প্রয়োজনীয়' খুঁজে পাচ্ছে না। নোডের জন্য আপনার কি ধরণের সংজ্ঞা ইনস্টল করতে হবে? আপনার tsconfig এ টাইপ ফিল্ডে চেষ্টা করুন npm i @types/nodeএবং তারপরে যুক্ত করুন node। - এনপিএম ইনস্টল করেছেন।
সুয়েস

7

আমি টিএসডি কমান্ডটি ব্যবহার করার সমাধানটি পেয়েছি:

tsd install node --save

কোনটি typings/tsd.d.tsফাইল যুক্ত করে / আপডেট করে এবং সেই ফাইলটিতে নোড অ্যাপ্লিকেশনটির জন্য প্রয়োজনীয় সমস্ত ধরণের সংজ্ঞা রয়েছে।

আমার ফাইলের শীর্ষে, আমি এর tsd.d.tsমতো একটি রেফারেন্স রেখেছি :

/// <reference path="../typings/tsd.d.ts" />

প্রয়োজনীয়তা জানুয়ারী 2016 হিসাবে এইভাবে সংজ্ঞায়িত করা হয়েছে:

declare var require: NodeRequire;

interface NodeModule {
    exports: any;
    require: NodeRequireFunction;
    id: string;
    filename: string;
    loaded: boolean;
    parent: any;
    children: any[];
}

আমি 404 পাইনি
বার্ম্যাট

5

আমি পিটার ভার্গার উত্তর যুক্ত করতে নিয়েছি declare var require: any;এবং এটি একটি জেনেরিক সমাধানে পরিণত করেছি যা প্রিপ্রসেস-লোডার ব্যবহার করে সমস্ত .ts ফাইলের জন্য সাধারণভাবে কাজ করে :

  1. প্রিপ্রসেসর-লোডার ইনস্টল করুন:

    npm install preprocessor-loader
  2. আপনার ওয়েবপ্যাক.config.js এ লোডার যুক্ত করুন (আমি টাইপস্ক্রিপ্ট উত্সগুলি প্রসেস করার জন্য টিএস-লোডার ব্যবহার করছি ):

    module: {
        loaders: [{
            test: /\.tsx?$/,
            loader: 'ts-loader!preprocessor?file&config=preprocess-ts.json'
        }]
    }
  1. কনফিগারেশন যুক্ত করুন যা প্রতিটি উত্সের সাথে একযোগে যুক্ত করবে:
{
    "line": false,
    "file": true,
    "callbacks": [{
        "fileName": "all",
        "scope": "source",
        "callback": "(function shimRequire(source, fileName) { return 'declare var require: any;' + source; })"
    }]
}

আপনি একইভাবে আরও শক্তিশালী প্রয়োজনীয় সংযোজন করতে পারেন। তবে declare var require: any;আমার পরিস্থিতিতে এটি যথেষ্ট ছিল situation

দ্রষ্টব্য, প্রিপ্রেসেসর ০.০.৫ এ একটি বাগ রয়েছে , যা শেষ লাইনটি কেটে ফেলেছে, তাই শেষের দিকে আপনার অতিরিক্ত লাইন স্পেস রিটার্ন রয়েছে তা নিশ্চিত করুন এবং আপনি ভাল থাকবেন।


1
কেন এই নিম্নমানের ছিল? এটি প্রশ্নের উত্তর দেয় এবং টেবিলে নতুন এবং তাৎপর্যপূর্ণ কিছু এনে দেয়। ট্রান্সপ্লেলার এবং ওয়েবপ্যাকটি সন্তুষ্ট করার জন্য এখন আপনাকে প্রতিটি ফাইল পৃথকভাবে ম্যাংগল করতে হবে না।
বেনি বোত্তেমা

আপনি আরও 3 ধাপ ব্যাখ্যা করতে পারেন? আমি একজন নবীন এবং এই কনফিগারেশন কোডটি কোথায় রাখা উচিত তা আমি জানি না।
ব্যবহারকারী 441058

@ ব্যবহারকারী 441058, গিটহাব পৃষ্ঠাটি চেকআউট করুন , পদক্ষেপ 3 প্রিপ্রসেসি- লোডারটির মূল কনফিগারেশন সম্পর্কে।
বেনি বোটমা

2

আমি এই সমস্যাটি থেকেও লড়াই করে যাচ্ছি। আমি বিশ্বাস করি এটি সবার জন্য কাজ করে রিলিজ প্রার্থীদের ওরফে আরসি তবে আমি পরীক্ষা দিইনি । জন্য @angular rc.2 এটা ভাল কাজ করে।

  1. core-jsএনপিএম নির্ভরতা হিসাবে যুক্ত করুনpackage.json
  2. চালান typings install core-js --save
  3. "es6-shim"আপনার সমস্ত ঘটনা মুছে ফেলুন package.json। আপনার আর দরকার নেই।

চিয়ার্স!


কোর-জেএস টাইপিং কীসের জন্য? নোড নির্দিষ্ট?
dcsan


2

'মঙ্গুজ' থেকে মঙ্গু হিসাবে আমদানি করুন


2

Tsconfig.json থেকে কিছু সময় "জুঁই" অনুপস্থিত থাকায় এই ত্রুটি হতে পারে। (টাইপস্ক্রিপ্ট ২. এক্স)

সুতরাং যোগ করুন

"types": [
  "node",
  "jasmine"
]

আপনার tsconfig.jsonফাইল


2

ইলেক্ট্রন + কৌণিক 2/4 সংযোজন:

বিভিন্ন ফাইলকে 'নোড' টাইপ যুক্ত করার উপরে, শেষ পর্যন্ত আমার জন্য যা কাজ করেছে তা typings.d.tsফাইলের পরবর্তী অংশটি যুক্ত করেছে :

declare var window: Window;
interface Window {
  process: any;
  require: any;
}

নোট করুন যে আমার কেসটি ইলেক্ট্রন + অ্যাঙ্গুলার 2/4 দিয়ে বিকাশ করছে। আমার উইন্ডোতে প্রয়োজনীয়তা প্রয়োজন।


2

আমার জন্য এটি কৌনিক সংকলক বিকল্পগুলিতে প্রকার যুক্ত করে সমাধান করা হয়েছে ।

"angularCompilerOptions": {
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"types": [ "node" ]
}

এটি tsconfig.json এ রয়েছে যে কেউ জানতে চায় in
স্টিফেন জেং

1
এটি কৌণিক 9 এর জন্য
অরুণ

1
  1. আপনি কোডটি স্থানান্তর করতে কোন মডিউলটি ব্যবহার করবেন তা নির্দিষ্ট করেছেন?
    tsc --target es5 --module commonjs script.ts
    ট্রান্সপ্লেলারটি জানতে দেওয়ার জন্য আপনাকে অবশ্যই এটি করতে হবে যে আপনি নোডজেএস কোডটি সংকলন করছেন। ডক্স

  2. আপনার অবশ্যই মঙ্গুজ সংজ্ঞা ইনস্টল করতে হবে
    tsd install mongoose --save

  3. varভেরিয়েবলগুলি ঘোষণার জন্য ব্যবহার করবেন না (প্রয়োজনীয় না হলে যা খুব বিরল ক্ষেত্রে), letপরিবর্তে ব্যবহার করুন। সে সম্পর্কে আরও জানুন


1

শুধু cgatian এর উত্তর, জন্য ছাড়াও টাইপ করা বিষয় 1.x

আপনি যদি এখনও ত্রুটি দেখতে পাচ্ছেন তবে দয়া করে আপনার সংকলক বিকল্পগুলিতে বিশেষভাবে index.d.ts সরবরাহ করুন।

"files": [
    "typings/index.d.ts"
]

1

উপরের কোনও কৌশল ব্যবহার করে আমি 'আবশ্যক' ত্রুটিটি দূরে যেতে পারি না।

তবে আমি জানতে পেরেছি যে বিষয়টি আমার ভিজ্যুয়াল স্টুডিওর জন্য টাইপস্ক্রিপ্ট সরঞ্জাম যেখানে একটি পুরানো সংস্করণ (1.8.6.0) এবং আজকের সর্বশেষতম সংস্করণ (২.০..6.০)।

আপনি এই সরঞ্জামগুলির সর্বশেষতম সংস্করণটি ডাউনলোড করতে পারেন:

ভিজ্যুয়াল স্টুডিও 2015 এর জন্য টাইপস্ক্রিপ্ট


1

আপনি যদি কোডটি সংকলন করতে পারেন তবে ভিজ্যুয়াল স্টুডিও 2015 এর চিহ্নগুলি 'প্রয়োজনীয়' ফাংশন হিসাবে ত্রুটিযুক্ত পাঠ্যের সাথে ত্রুটির নাম 'প্রয়োজনীয়' খুঁজে পাচ্ছে না বা প্রতীকটিকে 'আবশ্যক' সমাধান করতে পারে না , ভিজ্যুয়াল স্টুডিও 2015 এর জন্য টাইপস্ক্রিপ্টটি সর্বশেষ সংস্করণে আপডেট করুন (এই মুহুর্তে 2.1)। 5) এবং রিশ্যার্পারকে (যদি আপনি এটি ব্যবহার করেন) কমপক্ষে সংস্করণ 2016.3.2 এ আপডেট করুন।

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


1

এতে নিম্নলিখিতগুলি যুক্ত করুন tsconfig.json:

"typeRoots": [ "../node_modules/@types" ]

2
এটি ইতিমধ্যে @ cgatian এর উত্তরে উল্লেখ করা হয়েছে ।
tuomastik

@cgatian "নোড_মডিউল / @ প্রকার" উল্লেখ করেছে যখন আমি "../node_modules/@tyype" উল্লেখ করেছি।
দর্শনা বল্লাল

1

আমি এখনও অন্য একটি উত্তর পেয়েছি যা পূর্ববর্তী সমস্তগুলিতে বর্ণনা করে npm install @types/nodeএবং এর মধ্যে অন্তর্ভুক্ত nodeকরে tsconfig.json / compilerOptions / types

আমার ক্ষেত্রে, আমার tsConfig.jsonকৌনিক অ্যাপ্লিকেশনটিতে একটি বেস এবং একটি পৃথক রয়েছে যা এটির প্রসারিত করে:

{
    "extends": "../../tsconfig.json",
    "compilerOptions": {
        "outDir": "../out-tsc/app",
        "types": []
 },

আমার সমস্যা খালি ছিল typesএই tsconfi.app.json- এটা বেস কনফিগারেশন এক clobbers।


-2

আপনি যদি কোনও .ts ফাইলে এই সমস্যার মুখোমুখি হন যা কেবলমাত্র আপনাকে কিছু ধ্রুবক মান সরবরাহ করতে পারে তবে আপনি ঠিক করতে পারেন

আপনার .ts ফাইলটির নাম .js ফাইলের নামকরণ করুন

আর ত্রুটি আর আসবে না।

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