কীভাবে তৈরি করুন প্রতিক্রিয়া অ্যাপ্লিকেশন এবং টাইপস্ক্রিপ্ট দিয়ে alচ্ছিক চেইন সক্ষম করবেন enable


14

পরীক্ষামূলক সিনট্যাক্স 'alচ্ছিকচঞ্চল' এর জন্য সমর্থন বর্তমানে সক্ষম নয়

আমি উপরের ত্রুটি পেয়েছিলাম। আমি এই পোস্টটি অনুসরণ করেছি "@babel/plugin-proposal-optional-chaining": "^7.7.4"এবং আমার মধ্যে যুক্ত devDependencies

তাহলে আমি এই ত্রুটিটি পাচ্ছি,

রূপান্তর সক্ষম করতে আপনার বাবেল কনফিগারেশনের 'প্লাগইন' বিভাগে @ বাবেল / প্লাগইন-প্রস্তাব-alচ্ছিক-চেইনিং ( https://git.io/vb4Sk ) যুক্ত করুন।

সুতরাং আমি এই পোস্টটিকে অনুসরণ করেছি .babelrcএবং আমার প্রকল্পের মূলটিতে ফাইল যুক্ত করেছি

{
    "presets": ["react", "es2015","stage-1"],
    "plugins": ["transform-runtime", "transform-optional-chaining"]
}

এটি কিছুই করার মনে হয় নি। আমি এমন কারও উল্লেখ শুনেছি যা Create React Appআপনাকে বাবেলের কনফিগারেশনগুলি সংশোধন করতে দেয় না। সুতরাং আমার প্রশ্নটি হল আমি কীভাবে পুরো পুনরায় তারেটিং না করে alচ্ছিক শৃঙ্খলা সক্ষম করতে পারি CRA?

পিএস আমি ব্যবহার করছি "typescript": "^3.7.2", বা কমপক্ষে এটি আমার package.jsonবক্তব্য। আমি npm installএটি আপডেট হয়েছে তা নিশ্চিত করার চেষ্টা করেছি । CRAনীচে কিছু অদ্ভুত কিছু করা এবং TypeScriptএকরকম পুরানো সংস্করণ ব্যবহার করা হচ্ছে কিনা তা নিশ্চিত নয় ।


সম্পাদনা: যখন আমি প্রকল্পটি দিয়ে শুরু করি তখন আমি CRAবিশ্বাস করি আমরা ব্যবহার করছি TypeScript: 3.6.x। আমি ব্যবহার করতে চেয়েছিলাম Optional Chaining, তাই আমি তখন আমার package.jsonফাইলটি পরিবর্তন করেছিলাম । আমি মনে করি সমস্যাটি হ'ল, আমি জানি যে আমি ব্যবহার করছি তবে তারপরেও পুরানো কনফিগারেশন রয়েছে এবং আমি কীভাবে এটি আপডেট করব তা নিশ্চিত নই।"typescript": "^3.7.2"npm installTypeScript3.7.2CRA


আপনি টাইপস্ক্রিপ্ট ৩. use ব্যবহার করতে পারেন । Alচ্ছিক শৃঙ্খলা এখন একটি দেশীয় সমর্থিত ফাংশন।
নিকোলাস

আমি টাইপস্ক্রিপ্ট ব্যবহার করছি ^3.7.2। বা কমপক্ষে আমার যা package.jsonবলে তা স্থির করে। আমিও চেষ্টা করেছি npm install
হাফিজ তেমুরি

উত্তর:


15

তৈরি-প্রতিক্রিয়া-অ্যাপ্লিকেশনটি টাইপস্ক্রিপ্টটি স্থানচ্যুত করতে ব্যাবেল ব্যবহার করে যাতে এটি আপনার টাইপস্ক্রিপ্টের এনপিএম ইনস্টলড সংস্করণটি ব্যবহার করে না। প্রতিক্রিয়া-স্ক্রিপ্টগুলির সংস্করণ 3.3.0 টাইপস্ক্রিপ্ট 3.7 সমর্থন করে। আপনি এটি ইনস্টল করতে এবং এর সাথে এটি ব্যবহার করতে পারেন:

  • yarn add react-scripts@3.3.0

    -অথবা-

  • npm install -s react-scripts@3.3.0


ধন্যবাদ, সঠিক সমাধান এখানে।
রমন গনজালেজ

1
আপনি কি react-scripts 3.3.0টিএস ব্যবহার না করে alচ্ছিক শৃঙ্খলা ব্যবহার করতে পারেন ?
বদরুশ

না - alচ্ছিক শৃঙ্খলা একটি টাইপস্ক্রিপ্ট বৈশিষ্ট্য যা ব্রাউজার বা নোডজেএসে কাজ করতে জাভাস্ক্রিপ্টে স্থানান্তরিত করা দরকার।
লুক পি

@ ব্র্যাশ ব্রাশ অপশনাল চেইনিং টিএস বৈশিষ্ট্য, আপনি টিএস ছাড়া এটি কীভাবে ব্যবহার করতে পারেন? এটি আমার মতো বলে, আমি ডিম ছাড়াই কেবল কুসুম খেতে পারি? এর সহজ উত্তর হ'ল না! তবে আশা করি তারা শীঘ্রই এটি ভ্যানিলা জেএসে যুক্ত করবে।
হাফিজ তেমুরী

6

প্রতিক্রিয়ার স্ক্রিপ্ট ৩.৩.০ এবং উপরে এটি সমর্থন করে। এর পরের @ প্রতিক্রিয়া-স্ক্রিপ্টগুলি ইনস্টল করার দরকার নেই।

কেবল প্যাকেজ.জসনে রাখুন "react-scripts": "^3.3.0"এবং এটি কার্যকর হবে।


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

এখন যেহেতু আমি ফিরে তাকিয়ে @LukeP তার একই জিনিস তোমার প্রস্তাব
হাফিজ Temuri

@ হাফিজটেমুরি তার উত্তর আপডেট করেছেন। তার উত্তর শুরুতে @ পরের প্রতিক্রিয়া-স্ক্রিপ্টগুলির সাথে ছিল
এলিশা স্টারনগোল্ড

2

package.json

{
  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom"
  },
  "devDependencies": {
    "@babel/plugin-proposal-optional-chaining": "^7.2.0",
    "customize-cra": "^0.4.1",
    "react-app-rewired": "^2.1.3"
  }
  ...other
}

কনফিগ-overrides.js

const { useBabelRc, override } = require('customize-cra');
module.exports = override(useBabelRc());

.babelrc

{
  "plugins": ["@babel/plugin-proposal-optional-chaining"]
}

বিস্তারিত ব্লগপোস্ট


আমি উল্লেখ করেছি যে ওপিতে, আমি পুরো জিনিসটি আবার ওয়্যার করতে চাই না। "So my question is how can I enable optional chaining without re-wiring the whole CRA?"
হাফিজ তেমুরি

আমি customize-craযদি কনফিগারটিকে ওভাররাইড করার জন্য ইতিমধ্যে এটি ব্যবহার করছি তবে আমি কীভাবে ব্যবহার করব? উদাহরণস্বরূপ:module.exports = function override(config) { config.resolve.modules = [path.resolve(__dirname, 'src'), 'node_modules']; return config; };
সুবেহেন্দু কুন্ডু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.