'প্রতীক' বাবেল ব্যবহারের পরে IE এ অপরিজ্ঞাত


87

আমার কাছে reactjsES6 মান ব্যবহার করে একটি অ্যাপ লেখা আছে এবং আমি webpackএটি তৈরিতে ব্যবহার করি build webpackলোড jsব্যবহার মডিউল babel-loader। সুনির্দিষ্টভাবে বলতে গেলে, আমি প্যাকেজগুলির নিম্নলিখিত সংস্করণগুলি ব্যবহার করি: ├── babel@5.8.34 ├── babel-core@5.8.34 ├── babel-loader@5.4.0 └── webpack@1.12.6

তবে এটি তৈরির পরে, আইই 10 নিম্নলিখিত ত্রুটিটি দেয় 'Symbol' is undefinedbabelঅনুমিত করা উচিত না Symbol? সেখানে কোনো নির্দিষ্ট কনফিগারেশন হয় webpackবা babelআমি অনুক্রমে এটি কাজ করা সেট করতে হবে? আমি {stage: 0}আমার কনফিগারেশন ব্যবহার .babelrc

কোন সাহায্য প্রশংসা করা হবে, আপনাকে ধন্যবাদ!


4
আপনি একটি স্ট্যাকট্রেস যোগ করতে পারেন?

উত্তর:


94

আপনার কোডে প্রবেশের পয়েন্টে আপনার পলিফিলের প্রয়োজন হতে পারে যাতে এটি জাভাস্ক্রিপ্টের বাকী অংশে বান্ডিল হয়ে যায়।

একটি বিকল্প ব্যবহার করা হয়:

require('babel-polyfill');

বা:

import 'babel-polyfill';

ডকুমেন্টেশনে সেগুলির সমস্ত ব্যাখ্যা করা হয়েছে ।


4
আমি এই বাগটি ঘন্টার পর ঘন্টা লড়াই করে যাচ্ছিলাম! আপনাকে ধন্যবাদ
পি। ব্রায়ান.ম্যাকি

কোনও কারণে এটি আইই 10, আই 11 এ আমার জন্য কাজ করে না তাই আমি জুরোমের দ্বারা উল্লিখিত আইই এর জন্য আলাদা স্ক্রিপ্ট হিসাবে এটি অন্তর্ভুক্ত করছি। আমি সম্ভবত এটিকে যাইহোক ওয়েবপ্যাকের আমার মূল বান্ডিল থেকে বিভক্ত করব।
এসএনএনএম

4
হ্যালো @ জুরোম এবং @ লুকাসজ, আমি একই সমস্যার মুখোমুখি হচ্ছি যে সিম্বল এবং সিম্বল এর মত এর কাজগুলি আইইতে অপরিবর্তিত রয়েছে, এই ব্যাবেল পলিফিল ব্যবহার করে আমার পৃষ্ঠাটি লোড হচ্ছে না তবে আইই ক্র্যাশ হয়ে একটি ত্রুটি ঘটছে এবং জিজ্ঞাসা করছে যে পুনরায় লোড করুন।
রাহুল

4
babel-polyfillআমার জন্য এই সমস্যাটি স্থির করুন। ধন্যবাদ!
ডেভাস্পিনাল

এটি আমার জন্য কৌণিক 10 তে কাজ করেছিল, তবে কেবল যদি import "@babel/polyfill"; বিবৃতিটি আগে থাকে import 'zone.js/dist/zone';(যা বোঝায় যে প্রতীক ত্রুটিটি আমি পেয়ে যাচ্ছিলাম অঞ্চল.js থেকে)
ইওল্ফম্যান

68

ঠিক আছে, আমি শেষ পর্যন্ত জানতে babelপেরেছিলাম যে একা কোনও পলিফিল দেয় না। স্ক্রিপ্ট সহ <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>আমার জন্য এই সমস্যাটি সমাধান হয়েছে।


4
এমন কোনও পদ্ধতি আছে যা আমি এইচটিএমএলে এই স্ক্রিপ্টটি কেবল ইনলুকড করতে পারি: <! - [যদি আইই]] স্ক্রিপ্ট (টাইপ = 'পাঠ্য / জাভাস্ক্রিপ্ট')। প্রয়োজন ('ব্যাবেল-কোর / ব্রাউজার-পলিফিল.জেএস') <! [
এন্ডিফ

আইই ১১ এ আমার একই সমস্যা ছিল এবং এটি এটি আমার জন্যও ঠিক করে দিয়েছে। ধন্যবাদ!
ওয়াটারস্কিয়ার

@ জুরম, আমি যখন এইচটিএমটিএলে এই ফাইলটি যুক্ত করব তখন আমার আইটি ক্র্যাশ হয়ে যায় :-( দয়া করে সহায়তা করুন
রাহুল

@ রাহুল আইই এর কোন সংস্করণ? ক্র্যাশ বলতে কী বুঝ? আপনি ত্রুটি লগ প্রদান করতে পারেন?
জুরম

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

8

এই সমাধানটি নিশ্চিতভাবে কাজ করবে, আমি যখন ত্রুটির মুখোমুখি হই তখন এটি আমার পক্ষে কাজ করেছিল: আইইতে 'প্রতীক' অপরিজ্ঞাত। এটি আগে ক্রোম এবং ফায়ারফক্সে কাজ করেছিল তবে আইই এই ত্রুটিটি ছুঁড়েছিল this এই সমাধানটি পেতে আমার কয়েক ঘন্টা সময় নেয়। আমি উইন্ডোজ মেশিনে এই সময়ে সাম্প্রতিক প্রতিক্রিয়াটি "প্রতিক্রিয়া": "^ 16.5.0" ব্যবহার করছি using

1. Install babel-polyfill
npm install --save-dev babel-polyfill
In package.json, it should have the following entries

"devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.2",
    "babel-polyfill": "^6.26.0",
    "babel-preset-react": "^6.24.1"
  }

2. In index.js, add

    import babelPolyfill from 'babel-polyfill';

সমস্যার সমাধান হওয়া উচিত


4
আপনি যদি আপনার ইনডেক্স.জেজে বাবেল পলিফিল আমদানি করেন তবে আপনাকে অবশ্যই এটি নিয়মিত নির্ভরতা হিসাবে ইনস্টল করতে হবে, কোনও দেব নির্ভরতা নয়
প্যাট্রিক হন্ড

ধন্যবাদ! বাবেল এবং ওয়েবপ্যাক কোডটি সংকলনের জন্য একসাথে কাজ করছে, এমনভাবে বর্তমান পথে 11 কাজ করার একমাত্র উপায় এটি মনে হয়। প্রথম স্থানটিতে এস 5 মডিউলগুলি তৈরি করতে বাবেল এস Sy সিম্বলগুলি কেন ব্যবহার করছে তা একটি রহস্য, কারণ এটি পুরানো ব্রাউজারগুলির সাথে সুস্পষ্টভাবে বেমানান, এবং পুরানো ব্রাউজারগুলির সাথে সামঞ্জস্যতার কারণেই বাবেল বিদ্যমান।
d13

5

ঠিক আছে, আমারও একই সমস্যা ছিল, তবে আমার ক্ষেত্রে এটি বেশ আলাদা ছিল, সুতরাং মূলত আপনাকে নীচের মতো সূচি ফাইলটিতে স্ক্রিপ্ট অন্তর্ভুক্ত করতে হবে:

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>

তবে আমার ক্ষেত্রে, আমি ইতিমধ্যে এটি অন্তর্ভুক্ত করেছি, কিছু তদন্তের পরে আমি জানতে পেরেছিলাম যে আমার প্রক্সি স্ক্রিপ্টটি ব্লক করেছে ...

সুতরাং নিশ্চিত হয়ে নিন যে আপনি এটিকে সূচি.এইচটিএমএলে অন্তর্ভুক্ত করেছেন এবং ত্রুটি যাতে না ঘটে সে জন্য আপনার যেখান থেকে স্ক্রিপ্টটি দরকার সেখানে এটি অ্যাক্সেস রয়েছে তা নিশ্চিত করুন ... সর্বোত্তম উপায়ে কেবল ব্রাউজারে ইউআরএল অনুলিপি করুন এবং পেস্ট করুন ...

কিন্তু এখন যা আমরা এই জায়গায় পৌঁছেছি, এটি নিজেই সিম্বল নিয়ে কথা বলছে না, কোনটি প্রতীক যা আইইতে স্বীকৃতি পাবে না?

সিম্বল () ফাংশনটিতে টাইপ প্রতীকটির মান প্রদান করে, স্থির বৈশিষ্ট্য রয়েছে যা বিল্ট-ইন অবজেক্টের বেশ কয়েকটি সদস্যকে বহিঃপ্রকাশ করে, স্থির পদ্ধতি রয়েছে যা বৈশ্বিক প্রতীক রেজিস্ট্রি প্রকাশ করে, এবং একটি বিল্ট-ইন অবজেক্ট শ্রেণির অনুরূপ তবে কনস্ট্রাক্টর হিসাবে অসম্পূর্ণ হয় কারণ এটি সিন্টেক্স "নতুন প্রতীক ()" সমর্থন করে না।

প্রতীক () থেকে প্রত্যাবর্তিত প্রতিটি প্রতীক মানটি অনন্য। প্রতীক মানটি বস্তুর বৈশিষ্ট্যের জন্য সনাক্তকারী হিসাবে ব্যবহার করা যেতে পারে; এটি ডেটা টাইপের একমাত্র উদ্দেশ্য। উদ্দেশ্য এবং ব্যবহার সম্পর্কে আরও কিছু ব্যাখ্যা সিম্বলের জন্য গ্লোসারি এন্ট্রিতে পাওয়া যাবে।

ডেটা টাইপ প্রতীক একটি আদিম তথ্য প্রকার।


4
এটি আমার জন্য এটিও স্থির করে দিয়েছে। আমি বাবেল অনলাইন সংকলক ব্যবহার করেছি এবং এই স্ক্রিপ্টটি আমার HTML, ভয়েলাতে অন্তর্ভুক্ত করেছি।
ভিক্টরএসএম

4
আমি বিশ্বাস করি না যে এই এক লাইন কাজ করে! বহু দিন ধরে প্রতিক্রিয়া + উপাদান ইউআইয়ের জন্য পলফিলগুলি তাড়া করে এবং এটি একক লাইনের সাথে এটি সমস্ত স্থির করে।
jpro

4

রানটাইম সম্পর্কে নথিভুক্ত

// in bash
npm install babel-transform-runtime --save-dev

// in gulpfile
.pipe(babel({
  plugins: ['transform-runtime']
}))

সম্পাদনা: হিরকুতে আরও ভাল প্রোড মোডে ব্যবহার করুন - সেভ-দেবের পরিবর্তে - সেভ করুন


এই মডিউলটিকে এখন বলা হয়@babel/plugin-transform-runtime
কেভিন রেলি

0

যদি আপনি একটি কৌণিক অ্যাপে এই ত্রুটিটি পেয়ে চলেছেন তবে আপনাকে নীচের পংক্তিগুলিকে পলিফিল.এসটিতে অন-মন্তব্য করতে হবে -

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.