ব্রাউজারফি - ব্রাউজারে ব্রাউজারিফাইয়ের মাধ্যমে উত্পন্ন কোনও ফাইলে বন্ডল ফাংশনটি কীভাবে কল করা যায়


96

আমি নোডেজ এবং ব্রাউজারে নতুন। আমি এই লিঙ্ক দিয়ে শুরু ।

আমার কাছে ফাইল মেইন.জে রয়েছে যা এই কোডটি ধারণ করে

var unique = require('uniq');

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];

this.LogData =function(){
console.log(unique(data));
};

এখন আমি এনপিএম সহ ইউনিট মডিউল ইনস্টল করব:

 npm install uniq

তারপরে আমি ব্রাউজারফাই কমান্ডের সাহায্যে মেইন.জেস থেকে শুরু করে সমস্ত প্রয়োজনীয় মডিউলগুলি বান্ডেল.জেএস নামে একটি ফাইলের মধ্যে বান্ডেল করব:

browserify main.js -o bundle.js

উত্পন্ন ফাইলটি দেখতে এরকম দেখাচ্ছে:

(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
var unique = require('uniq');

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];

this.LogData =function(){
console.log(unique(data));
};

},{"uniq":2}],2:[function(require,module,exports){
"use strict"

function unique_pred(list, compare) {
  var ptr = 1
    , len = list.length
    , a=list[0], b=list[0]
  for(var i=1; i<len; ++i) {
    b = a
    a = list[i]
    if(compare(a, b)) {
      if(i === ptr) {
        ptr++
        continue
      }
      list[ptr++] = a
    }
  }
  list.length = ptr
  return list
}

function unique_eq(list) {
  var ptr = 1
    , len = list.length
    , a=list[0], b = list[0]
  for(var i=1; i<len; ++i, b=a) {
    b = a
    a = list[i]
    if(a !== b) {
      if(i === ptr) {
        ptr++
        continue
      }
      list[ptr++] = a
    }
  }
  list.length = ptr
  return list
}

function unique(list, compare, sorted) {
  if(list.length === 0) {
    return []
  }
  if(compare) {
    if(!sorted) {
      list.sort(compare)
    }
    return unique_pred(list, compare)
  }
  if(!sorted) {
    list.sort()
  }
  return unique_eq(list)
}

module.exports = unique
},{}]},{},[1])

আমার সূচক htm পৃষ্ঠায় bundle.js ফাইল অন্তর্ভুক্ত করার পরে, আমি কীভাবে লগডাটা ফাংশন কল করব ??


আপনি কোথায় এটি কল করতে চান? এবং কেন আপনি এটি কল করতে চান?
আর্টুর গ্রিজিয়াক

4
@arturgrzesiak: আমি আমার অন্য একটি প্রকল্পে এই ফাংশনটি কাজে লাগাতে চাই যা আমি ব্রাউজারে চালিয়ে যাব।
শার্পকোডার

উত্তর:


83

ডিফল্টরূপে, ব্রাউসরিফাই আপনাকে ব্রাউজ করা কোডের বাইরে থেকে মডিউলগুলি অ্যাক্সেস করতে দেয় না - আপনি যদি ব্রাউজারিফাইড মডিউলে কোড কল করতে চান তবে আপনাকে মডিউলটির সাথে আপনার কোডটি ব্রাউজ করা উচিত। এর উদাহরণগুলির জন্য http://browserify.org/ দেখুন ।

অবশ্যই, আপনি বাহ্যিকভাবে নিজের পদ্ধতিটিকে স্পষ্টভাবে এইভাবে অ্যাক্সেসযোগ্য করে তুলতে পারেন:

window.LogData =function(){
  console.log(unique(data));
};

তারপরে আপনি LogData()পৃষ্ঠাটির অন্য যে কোনও জায়গা থেকে কল করতে পারেন ।


4
ধন্যবাদ. এইটা কাজ করে. এটির অর্থ কি, এটি.ফাংশননাম না বলার পরিবর্তে ফাংশন তৈরি করার সময়, আমার উইন্ডো.ফানশন নাম লিখতে হবে? আমরা কি এই জন্য অন্য কোন কাজ আছে? উইন্ডো.ফানশন নাম ব্যবহারের কোনও কারণ?
শার্পকোডার

21
"আপনার কোডটি মডিউলটির সাথে একসাথে ব্রাউজ করার কথা ছিল" - উঘ, আমি যদি এর মতো কিছু করতে চাই তবে কী হবে onclick="someFunction()"। আপনি সম্ভবত তর্ক করতে পারবেন না যে এটি একটি বিরল ব্যবহারের কেস!!?!
ব্লুরাজা - ড্যানি প্লেফুঘুফুট

57
প্রাথমিকভাবে ক্লায়েন্টের উপর ব্রাউজরিফাই কীভাবে ব্যবহার করতে হয় সে সম্পর্কে প্রাথমিকভাবে কোথাও ডকুমেন্টেশনের গুরুতর অভাব রয়েছে।
অলিভার ডিকসন

4
হ্যাঁ, ডকুমেন্টেশনে স্পষ্টভাবে বলা উচিত যে এটি এড়ানো একটি নকশার সিদ্ধান্ত, তবে আপনার বিকল্প না থাকলে এটিকে কাজ করার জন্য একটি সুস্পষ্ট পথ সরবরাহ করুন (আমার ক্ষেত্রে, কোনও জেএস বস্তুটি তৈরি করতে টেমপ্লেট থেকে ডেটা ব্যবহার করে) ... একটি সহজ সমাধানের দিকে ইঙ্গিত করার জন্য ধন্যবাদ @ থিজহ! ;)
আলেকজান্ডার মার্টিনি

4
এমন পরিস্থিতিতে আমি ভাবতেও পারি না যেখানে আপনি আপনার প্রধান ফাংশনগুলিকে মডিউলটির বাইরে উপলব্ধ করতে চান না। এটি কীভাবে ডিফল্ট আচরণ নয়? কোন ধরণের ওয়েব অ্যাপ্লিকেশন ফাংশনগুলিকে কল করে না?
সাইবারনেটিক

101

ব্রাউজরিফির সাথে স্ট্যান্ডেলোন মডিউলগুলি বান্ডিল করার মূল অংশটি হ'ল --sবিকল্প। এটি আপনার মডিউল থেকে module.exportsবিশ্বব্যাপী চলক হিসাবে নোড ব্যবহার করে যা রফতানি করে তা প্রকাশ করে । ফাইলটি তখন একটি <script>ট্যাগে অন্তর্ভুক্ত করা যায় ।

আপনার কেবল তখন এটি করতে হবে যদি কোনও কারণে আপনার যদি সেই বৈশ্বিক চলক উন্মুক্ত করার প্রয়োজন হয়। আমার ক্ষেত্রে ক্লায়েন্টের জন্য একটি স্ট্যান্ডোলোইন মডিউল প্রয়োজন যা তাদের এই ব্রাউজারি ব্যবসা সম্পর্কে চিন্তা করার প্রয়োজন ছাড়াই ওয়েব পৃষ্ঠাগুলিতে অন্তর্ভুক্ত করা যেতে পারে।

এখানে একটি উদাহরণ রয়েছে যেখানে আমরা --sযুক্তি সহ বিকল্পটি ব্যবহার করি module:

browserify index.js --s module > dist/module.js

এটি আমাদের মডিউলটিকে বিশ্বব্যাপী নামের হিসাবে প্রকাশিত করবে module
উত্স

আপডেট: ধন্যবাদ @ ফোটিনাকিসকে। আপনি পাস করছেন তা নিশ্চিত করুন --standalone your-module-name। আপনি যদি ভুলে যান যে --standaloneএটি একটি আর্গুমেন্ট গ্রহণ করে, ব্রাউজারফাই নিঃশব্দে একটি খালি মডিউল তৈরি করতে পারে কারণ এটি এটির সন্ধান করতে পারে নি।

আশা করি এটি আপনার কিছুটা সময় সাশ্রয় করবে।


4
আমি ব্যাবেলিফাইড ES6 কোডটি ব্রাউজ করার চেষ্টা করছি। তবে আমি যখন ব্রাউজারে এটি কনসোল করার চেষ্টা করি তখন স্ট্যান্ডেলোন অবজেক্টটি খালি থাকে। কোনও মডিউল ছাড়াই সাধারণ ES6 কোডটি স্বতন্ত্র মোডে সূক্ষ্মভাবে কাজ করে। এটির কোন পয়েন্টার?
জন

@ জ্যাকিরুডেটস্কি কোনও ধারণা নেই, আমি এসও-তে একটি প্রশ্ন যুক্ত করার পরামর্শ দেব, মনে হচ্ছে এটি একটি আকর্ষণীয় বিষয়। এটি সম্পর্কিত হতে পারে। github.com/substack/node-browserify/issues/1357
Matas Vaitkevicius

4
@ ফোটিনাকিস এটি ব্রাউজারফাই github.com/substack/node-browserify/issues/1537
জন

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

4
@ ভিক্টরবি জাভাস্ক্রিপ্টের সমস্ত বৈশ্বিক পরিবর্তনশীল উইন্ডোর উপাদান, সুতরাং উভয় পদ্ধতিই একই জিনিস অর্জন করে (উইন্ডোতে বৈশ্বিক চলক যুক্ত করে)
ডেভিড লোপেজ

37

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

আপনি যে বান্ডিল করতে চান উত্স স্ক্রিপ্টে, আপনি যে ফাংশনগুলি কল করতে চান সেটি মডিউল.এক্সপোর্টের মাধ্যমে প্রকাশ করতে ভুলবেন না। ক্লায়েন্ট স্ক্রিপ্টে, আপনি এই উন্মুক্ত ফাংশনগুলিকে <বুন্ডেল- নাম>> <func-name> মাধ্যমে কল করতে পারেন । এখানে একটি উদাহরণ:

আমার উত্স ফাইল src / স্ক্রিপ্ট.জেএস এর মধ্যে এটি থাকবে:
module.exports = {myFunc: func};

আমার ব্রাউজারিফাই কমান্ডটি এরকম কিছু দেখবে:
browserify src/script.js --standalone myBundle > dist/bundle.js

এবং আমার ক্লায়েন্ট স্ক্রিপ্ট ডিস্ট / ক্লায়েন্ট.জেএস বান্ডিল স্ক্রিপ্টটি লোড করবে
<script src="bundle.js"></script>
এবং তারপরে এক্সপোজড ফাংশনটিকে এভাবে কল করবে:
<script>myBundle.myFunc();</script>


উন্মুক্ত ফাংশনগুলি কল করার আগে ক্লায়েন্ট স্ক্রিপ্টে বান্ডিলের নাম প্রয়োজন নেই, যেমন <script src="bundle.js"></script><script>var bundled = require("myBundle"); bundled.myFunc();</script>প্রয়োজন হয় না এবং কাজ করে না।

প্রকৃতপক্ষে, স্ট্যান্ডেলোন মোড ছাড়াই ব্রাউজারিফাই দ্বারা বান্ডিল করা সমস্ত ফাংশনগুলির মতো, প্রয়োজনীয় ফাংশনটি বান্ডিল স্ক্রিপ্টের বাইরে উপলভ্য হবে না । ব্রাউজারফি আপনাকে কিছু নোড ফাংশন ক্লায়েন্ট-সাইড ব্যবহার করতে দেয় তবে কেবল বান্ডিল স্ক্রিপ্টেই ; এটি কোনও স্ট্যান্ডেলোন মডিউল তৈরির উদ্দেশ্যে নয় যা আপনি যে কোনও জায়গায় ক্লায়েন্ট-সাইড আমদানি করতে পারবেন এবং ব্যবহার করতে পারবেন, এজন্যই এর বান্ডিল প্রসঙ্গে কেবল একটি ফাংশন কল করার জন্য আমাদের এই সমস্ত অতিরিক্ত সমস্যায় যেতে হবে।


4
কি দারুন! শেষ পর্যন্ত একটি বাস্তব উদাহরণ।
N73k

4
ভাল উদাহরণ, তবে যতক্ষণ না "এটি বিশ্বব্যাপী নেমস্পেসকে দূষিত করে তাই আদর্শ নয়" স্বয়ংক্রিয়ভাবে অনুসরণ করে না, এটি কেবলমাত্র একটি ফাংশন হলে তা গ্রহণযোগ্য হতে পারে; শুধু ধোঁয়া এবং আয়না, এমনকি myBundleজানালা বস্তু, সংযুক্ত পরার window.myBundle.myFunc()window.myFunc () এর পরিবর্তে
joedotnot

4
যারা শেষ থেকে শেষের উদাহরণ দেয় তাদের জন্য অতিরিক্ত পয়েন্ট থাকতে হবে।
শারুদ

এভাবেই ডকুমেন্টেশন লিখতে হবে
এলেলি লেউং

8

আমি কেবল উত্তরগুলি পড়েছি এবং দেখে মনে হচ্ছে কেউ বৈশ্বিক পরিবর্তনশীল সুযোগ ব্যবহারের কথা উল্লেখ করেনি? আপনি যদি নোড.জেএস এবং ব্রাউজারে একই কোড ব্যবহার করতে চান তবে কোনটি দরকারী?

class Test
{
  constructor()
  {
  }
}
global.TestClass = Test;

তারপরে আপনি যে কোনও জায়গায় টেস্টক্লাস অ্যাক্সেস করতে পারবেন ।

<script src="bundle.js"></script>
<script>
var test = new TestClass(); // Enjoy!
</script>

দ্রষ্টব্য: টেস্টক্লাস এর পরে সর্বত্র উপলব্ধ। যা উইন্ডো ভেরিয়েবল ব্যবহার করার সমান।

অতিরিক্তভাবে আপনি একটি সাজসজ্জা তৈরি করতে পারেন যা বিশ্বব্যাপী সুযোগে কোনও শ্রেণি উন্মুক্ত করে। যা সত্যিই দুর্দান্ত তবে কোন ভেরিয়েবল সংজ্ঞায়িত হয়েছে তা ট্র্যাক করা শক্ত করে তোলে।


যেমন আপনি নিজেই বলেছেন, ফাংশনটি globalযুক্ত করার সাথে যুক্ত করার একই প্রভাব তৈরি করে window, যা ইতিমধ্যে thej দ্বারা আচ্ছাদিত ছিল। এই উত্তরটি কোনও নতুন তথ্য যোগ করে না।
গ্যালেন লং

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

তুমি ঠিক আছ, @ আজারুস। পৃষ্ঠায় আরও দুটি সদৃশ উত্তর ছিল এবং আমি ভুলভাবে আপনাকে গুচ্ছের সাথে অন্তর্ভুক্ত করেছি। আমার ক্ষমা।
গ্যালেন লং

কেবল এখানে লক্ষ করতে চাই যে এখানে ঝুলন্ত প্যারেন্স জাভাস্ক্রিপ্টের জন্য খুব খারাপ অভ্যাস, উদাহরণস্বরূপ: রিটার্ন কীওয়ার্ডটিতে এই প্যাটার্নটি প্রয়োগ করুন এবং কাঁদতে প্রস্তুত করুন। উদাহরণস্বরূপ return {}তবে খোলার কোঁকড়াটি বন্ধনীটি পরবর্তী লাইনে নামিয়ে দিন drop
Sgnl

4
@ আজারুস আমি কী বলতে চাইছি তা প্রদর্শনের জন্য একটি ঝাঁকুনি তৈরি করেছি - jsfiddle.net/cubaksot/1
Sgnl

6

--standaloneপরামিতি বা গুগল "ব্রাউজারিফাই উম্মদ" সম্পর্কে ব্রাউজারিফাইয়ের README.md পড়ুন


19
উত্তরের চেয়ে উত্তর কোথায় পাওয়া যায় সে সম্পর্কে এটি আরও বেশি ইঙ্গিত।
ব্যবহারকারী 2314737

এটি আমাকে যে সমাধানটি আমি দুদিনের জন্য খুঁজছিলাম তার দিকে নিয়ে যায় (কীভাবে একটি প্রয়োজনীয়.js পরিবেশ থেকে ব্রাউজারিফাই আউটপুট ব্যবহার করতে হয়)। ধন্যবাদ!
ফ্লাইনে

2

এইচটিএমএল এবং সার্ভার-সাইড নোড উভয় থেকে আপনার ফাংশনটি উপলভ্য করতে:

main.js:

var unique = require('uniq');

function myFunction() {
    var data = [1, 2, 2, 4, 3];
    return unique(data).toString();
}
console.log ( myFunction() );

// When browserified - we can't call myFunction() from the HTML, so we'll externalize myExtFunction()
// On the server-side "window" is undef. so we hide it.
if (typeof window !== 'undefined') {
    window.myExtFunction = function() {
        return myFunction();
    }
}

main.html:

<html>
    <head>
        <script type='text/javascript' src="bundle.js"></script>
    <head>
    <body>
        Result: <span id="demo"></span>
        <script>document.getElementById("demo").innerHTML = myExtFunction();</script>
    </body>
</html>

চালান:

npm install uniq
browserify main.js > bundle.js

এবং চলমান চলাকালীন কোনও ব্রাউজারে main.html খোলার সময় আপনার একই ফলাফল পাওয়া উচিত

node main.js

2

ন্যূনতম চলমান উদাহরণ

এটি মূলত: সমান: https://stackoverflow.com/a/43215928/895245 তবে কংক্রিট ফাইল রয়েছে যা আপনাকে কেবল চালাতে ও সহজেই এটি পুনরুত্পাদন করার অনুমতি দেবে।

এই কোডটি এখানেও উপলভ্য: https://github.com/cirosantilli/browserify-hello-world

index.js

const uniq = require('uniq');

function myfunc() {
  return uniq([1, 2, 2, 3]).join(' ');
}
exports.myfunc = myfunc;

index.html

<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>Browserify hello world</title>
</head>
<body>
<div id="container">
</body>
</div>
<script src="out.js"></script>
<script>
document.getElementById('container').innerHTML = browserify_hello_world.myfunc();
</script>
</html>

নোড.জেএস ব্যবহার:

#!/usr/bin/env node

const browserify_hello_world = require('./index.js');

console.log(browserify_hello_world.myfunc());

out.jsব্রাউজার ব্যবহারের জন্য উত্পন্ন :

npx browserify --outfile out.js --standalone browserify_hello_world index.js

ব্রাউজার এবং কমান্ড লাইন উভয়ই প্রত্যাশিত আউটপুট দেখায়:

1 2 3

ব্রাউজারফি 16.5.0, নোড.জেএস ভি 10.15.1, ক্রোমিয়াম 78, উবুন্টু 19.10 এর সাথে পরীক্ষিত।


4
এর exports.myfunc.= myfuncঅংশটি একেবারে সমালোচনামূলক এবং অন্যান্য উত্তরে মিস হয়েছিল।
পার্টটাইম্টার্টল

2

এটি সত্যিই সহজ - এই পুরো ধারণাটি মোড়ানো সম্পর্কে

১. বিকল্প - বস্তু "এটি"

এই উদ্দেশ্যে আমি ধরে নেব আপনার কাছে "পুরো অ্যাপ্লিকেশনটির জন্য কেবলমাত্র 1 স্ক্রিপ্ট {_ app_name}}" এবং "1 ফাংশন {{ফাংশন_নাম}}" রয়েছে

"এটি" আপত্তি করতে ফাংশন {{ফাংশন_নাম} add যুক্ত করুন

function {{function_name}}(param) {}
->
this.{{function_name}} = function(param) {}

তারপরে আপনাকে সেই অবজেক্টটি উপলভ্য থাকতে হবে - অন্যের পরামর্শ মতো আপনি এটি "নামের সাথে এককভাবে" পরম যুক্ত করবেন

সুতরাং আপনি যদি "ব্রাউজারিফাই" ব্যবহার করে "ওয়াচাইফাই" ব্যবহার করেন তবে এটি ব্যবহার করুন

var b = browserify({
    ...
    standalone: '{{app_name}}'
});

বা কমান্ড লাইন

browserify index.js --standalone {{app_name}} > index-bundle.js

তারপরে আপনি ব্রাউজার থেকে আপনার ফাংশনটি কল করতে পারেন

{{app_name}}.{{function_name}}(param);
window.{{app_name}}.{{function_name}}(param);

2. বিকল্প - অবজেক্ট "উইন্ডো"

"উইন্ডো" অবজেক্ট করতে function {ফাংশন_নাম}} ফাংশন যুক্ত করুন

function {{function_name}}(param) {}
->
window.{{function_name}} = function(param) {}

তারপরে আপনি ব্রাউজার থেকে আপনার ফাংশনটি কল করতে পারেন

{{function_name}}(param);
window.{{function_name}}(param);

-

আমি কাউকে সাহায্য করতে পারে


1

আপনার স্বল্প কিছু সু্যোগ আছে:

  1. প্লাগইনটিকে ব্রাউজ-ব্রিজ-ব্রিজটি তৈরি হওয়া এন্ট্রি মডিউলগুলিতে মডিউলগুলি স্বয়ংক্রিয় রফতানি করতে দিন। এটি এসডিকে প্রকল্প বা পরিস্থিতিগুলির জন্য সহায়ক যেখানে আপনাকে রফতানি করা জিনিস ম্যানুয়ালি রাখতে হবে না।

  2. রোল-আপ এক্সপোজারের জন্য সিউডো-নেমস্পেস প্যাটার্নটি অনুসরণ করুন:

প্রথমে আপনার লাইব্রেরিটি ফোল্ডারগুলিতে সূচকের চেহারা দেখার সুযোগ নিয়ে এইভাবে সাজান:

/src
--entry.js
--/helpers
--- index.js
--- someHelper.js
--/providers
--- index.js
--- someProvider.js
...

এই নিদর্শন সহ, আপনি এ জাতীয় প্রবেশের সংজ্ঞা দিন:

exports.Helpers = require('./helpers');
exports.Providers = require('./providers');
...

লক্ষ করুন যে প্রয়োজনীয় প্রতিটি সম্পর্কিত সাব-ফোল্ডার থেকে index.js স্বয়ংক্রিয়ভাবে লোড হয়

আপনার সাবফোল্ডারগুলিতে, আপনি কেবলমাত্র সেই প্রসঙ্গে উপলব্ধ মডিউলগুলির অনুরূপ ম্যানিফেস্ট অন্তর্ভুক্ত করতে পারেন:

exports.SomeHelper = require('./someHelper');

এই প্যাটার্নটি সত্যই ভাল স্কেল করে এবং রোলড-আপ এপিআইতে কী অন্তর্ভুক্ত করা উচিত তা প্রাসঙ্গিক (ফোল্ডার দ্বারা ফোল্ডার) ট্র্যাকিংয়ের অনুমতি দেয়।


-1
window.LogData =function(data){
   return unique(data);
};

দ্বারা ফাংশন কল করুন LogData(data)

এটি জাজের উত্তরে সামান্য পরিবর্তন হলেও গুরুত্বপূর্ণ


এই পরিবর্তনটি প্রশ্নকারীদের উদ্বেগের সাথে অপ্রাসঙ্গিক এবং ইতিমধ্যে বিদ্যমান উত্তরগুলি দিয়ে নতুন কোনও তথ্য যুক্ত করে না।
গ্যালেন লং

-2

ডিবাগিংয়ের উদ্দেশ্যে আমি এই কোডটি আমার কোড.জেজে যুক্ত করেছি:

window.e = function(data) {eval(data);};

তারপরে আমি এমনকি বান্ডিলের বাইরেও কিছু চালাতে পারি।

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