আমি যে Chrome এক্সটেনশনটি বিকাশ করছি তা কীভাবে আমি স্বয়ংক্রিয়ভাবে পুনরায় লোড করব?


263

আমি ক্রোম: // এক্সটেনশানস / স্পষ্টতই "পুনরায় লোড" ক্লিক না করেই এক্সটেনশন ফোল্ডারে যখন কোনও ফাইল সংরক্ষণ করি প্রতিবার আমার ক্রোম এক্সটেনশানটি পুনরায় লোড করা চাই। এটা কি সম্ভব?

সম্পাদনা: আমি সচেতন আমি যে ব্যবধানে ক্রোম এক্সটেনশনগুলি পুনরায় লোড করে, এটি অর্ধমুখী সমাধান, তবে আমি বরং আমার সম্পাদককে (ইমাস বা টেক্সটমেট) একটি পুনরায় লোড করে ট্রিগার করে তুলছি বা ক্রোমকে নিরীক্ষণ করতে বলছি পরিবর্তনের জন্য ডিরেক্টরি।


2
ক্রোমে সক্ষম হওয়া ইউআই থেকে পুনরায় লোড ট্রিগার করা হলে এটি আরও দ্রুত হবে বলে মনে হচ্ছে: // ফ্ল্যাগ / # সক্ষম-অ্যাপস-ডেভটোল-অ্যাপ
এরিক

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

আপনার লাইভজেএস কাঁটাচামচ, @ ওজ রামোস কোথায়?
জোশ

আহ, আমি দেখতে পেয়েছি: আপনার "লাইভজেএস" লিঙ্কটি লাইভজেএসের সাথে নয়, আপনার কাঁটাচামড়ার সাথে লিঙ্কযুক্ত।
জোশ

6
এটি জিজ্ঞাসা করা প্রশ্নের উত্তর দেয় না, তবে আমি উল্লেখ করতে চাই যে আমি এটি (বা অন্য কোনও এক্সটেনশন-লোডিং-সহায়ক এক্সটেনশান) চাইলে আমি বুঝতে পারলাম যে আমি সহজেই সিটিআরএল-আর বা সেন্টিমিডি-র আঘাত করে কোনও এক্সটেনশন পুনরায় লোড করতে পারি ( ওএসের উপর নির্ভর করে) এক্সটেনশনের পটভূমি উইন্ডোতে। আমি যা চেষ্টা করেছি তার চেয়ে আমার কাজের প্রবাহে এটি আরও ভাল ফিট করে এবং ফাইলগুলি যখন অসঙ্গতিপূর্ণ অবস্থায় থাকে তখন এটি স্বয়ংক্রিয় পুনরায় লোডিংয়ের সমস্যাও এড়িয়ে যায়।
ডন হ্যাচ

উত্তর:


162

আপনি ক্রোমের জন্য " এক্সটেনশানস রিলোডার " ব্যবহার করতে পারেন :

এক্সটেনশনের সরঞ্জামদণ্ড বোতামটি ব্যবহার করে বা " HTTP: //reload.exferences " ব্রাউজ করে সমস্ত প্যাকযুক্ত এক্সটেনশানগুলি পুনরায় লোড করে

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

"এক্সটেনশানস রিলোডার" আপনাকে 2 টি উপায়ে সমস্ত প্যাকযুক্ত এক্সটেনশানগুলি পুনরায় লোড করতে দেয়:

1 - এক্সটেনশনের টুলবার বোতাম।

2 - " http: //reload.extensions এ ব্রাউজিং " এ ।

টুলবার আইকনটি একক ক্লিক ব্যবহার করে প্যাকযুক্ত এক্সটেনশনগুলি পুনরায় লোড করবে।

"ব্রাউজিংয়ের মাধ্যমে পুনরায় লোড করুন" "পোস্ট বিল্ড" স্ক্রিপ্টগুলি ব্যবহার করে পুনরায় লোড প্রক্রিয়াটি স্বয়ংক্রিয় করার উদ্দেশ্যে is কেবলমাত্র আপনার স্ক্রিপ্টে ক্রোম ব্যবহার করে " http: //reload.extensions " এ একটি ব্রাউজ যুক্ত করুন এবং আপনার একটি রিফ্রেশ ক্রোম উইন্ডো থাকবে।

আপডেট: 14 জানুয়ারী, 2015, এক্সটেনশনটি খোলা সর্বাধিক এবং গিটহাবটিতে উপলব্ধ


3
এটি এখন অবধি সেরা সমাধান, তবে প্রতিবার যখন এটি ব্যবহার করা কোনও ফাইল সংশোধন করে তখনও এটি এক্সটেনশনটি আপডেট করা সহজ করে না, যা আমি আদর্শভাবে দেখছিলাম।
আন্দ্রে ফেদোরভ

2
ধন্যবাদ। উল্লেখ করতে চেয়েছিলাম যে আমি পিএইচপিস্টোরম ব্যবহার করি এবং আমি একটি টুলবার বোতাম যুক্ত করেছি যা chrome.exe কে "পুনরায় লোড। এক্সটেনশানস" url দিয়ে কল করে। আমি যখনই কোডটি পরীক্ষা করতে চাই, আমি আপডেট বোতামটির সাহায্যে সেই বোতামটি এবং ক্রোম পপআপগুলি টিপব।
অ্যারিক

30
ওও, আমি যখনই কোনও ফাইল সংশোধন করা হবে তখন খোলার জন্য গ্রান্ট-ওপেন ব্যবহার করে এই প্লাগইনটির সাথে কাজ করার জন্য গ্রান্টজগুলি পরিচালনা করতে পেরেছি । এটি এখন লাইভরেডের মতো কাজ করে, তবে প্রতিবার একটি অয়নিং ক্রোম উইন্ডো খোলার সাথে সাথে আমি নির্দিষ্ট প্লাগইন ফাইলগুলির মধ্যে একটি পরিবর্তন করে: পি। ধন্যবাদ! http://reload.extensions
গ্যাবএলরক্স

1
@ গ্যাবলেউক্স আমি ইতিমধ্যে এখানে এসেছি কেউ ইতিমধ্যে এটি করেছে কিনা তা সন্ধান করতে। ইহা যাদুর মত কাজ করে।
polkovnikov.ph

1
@ আলেকজান্ডারমিলস দুঃখজনকভাবে আমি প্রতিবার একটি নতুন ট্যাব না খোলায় এটি করতে পারিনি। আপনি যদি এর থেকে আরও ভাল সমাধান খুঁজে পান। কমপক্ষে, গিথুব.আরইকিউ
ক্রোম-

58

আপডেট : আমি একটি বিকল্প পৃষ্ঠা যুক্ত করেছি, যাতে আপনাকে আর কোনও এক্সটেনশনের আইডি ম্যানুয়ালি খুঁজে পেতে এবং সম্পাদনা করতে না হয়। সিআরএক্স এবং উত্স কোডটি এখানে রয়েছে: https://github.com/Rob--W/Chrome-
এক্সটেনশন- রেলোডার আপডেট 2: সংযুক্ত শর্টকাট (গিথুবে আমার সংগ্রহশালা দেখুন)।
মূল কোডটি, যার মধ্যে মূল কার্যকারিতা অন্তর্ভুক্ত রয়েছে নীচে দেখানো হয়েছে


একটি এক্সটেনশান তৈরি করুন এবং এর সাথে মিলে ব্রাউজার অ্যাকশন পদ্ধতিটি ব্যবহার করুনchrome.extension.managementআপনার এক্সপ্যাকড এক্সটেনশানটি পুনরায় লোড করার জন্য API করুন।

নীচের কোডটি ক্রোমে একটি বোতাম যুক্ত করেছে, যা ক্লিক করার পরে একটি এক্সটেনশন পুনরায় লোড করবে।

manifest.json

{
    "name": "Chrome Extension Reloader",
    "version": "1.0",
    "manifest_version": 2,
    "background": {"scripts": ["bg.js"] },
    "browser_action": {
        "default_icon": "icon48.png",
        "default_title": "Reload extension"
    },
    "permissions": ["management"]
}

bg.js

var id = "<extension_id here>";
function reloadExtension(id) {
    chrome.management.setEnabled(id, false, function() {
        chrome.management.setEnabled(id, true);
    });
}
chrome.browserAction.onClicked.addListener(function(tab) {
    reloadExtension(id);
});

icon48.png: উদাহরণস্বরূপ যে কোনও দুর্দান্ত 48x48 আইকনটি চয়ন করুন:
গুগল ক্রম গুগল ক্রম


1
@trusktr স্কটের উত্তর কেবল পটভূমি পৃষ্ঠা পুনরায় লোড করে। যাইহোক, উভয় উত্তর একত্রিত করা যেতে পারে (স্কটস উত্তর + সহায়তা সহায়ক এক্সটেনশন), যাতে কোনও এক্সটেনশানের ফাইল পরিবর্তিত হলে একটি এক্সটেনশন স্বয়ংক্রিয়ভাবে পুনরায় লোড হয়। তবে আমি এই অনুশীলনের বিরুদ্ধে সুপারিশ করছি, যেহেতু এক্সটেনশন পুনরায় লোডের পরে দেবতুলগুলি বন্ধ রয়েছে। আমি প্রায়শই একটি পরীক্ষার এক্সটেনশান নিয়ে ঝাঁকুনি দিয়ে থাকি এবং সিনট্যাক্সটি অসম্পূর্ণ থাকলেও প্রায়শই আমার পরিবর্তনগুলি সংরক্ষণ করি। এটি আমার এক্সটেনশানটিকে ক্র্যাশ করবে, যদি সত্যিকারের অটো-লোড সক্ষম হয়।
রব ডব্লু

@ রব ডাব্লু গুড পয়েন্ট আমি প্রায়শই লেখার কোডের মাঝখানে সংরক্ষণ করি তাই কোডটি অবশ্যই প্রশ্নযুক্ত প্লাগইনটি ভেঙে দেবে।
trusktr

1
@ সুদর্শন আপনি ব্যবহার করার পরামর্শ দিয়েছেনchrome.i18n.getMessage("@@extension_id") । এটি যাইহোক, বর্তমান এক্সটেনশনের এক্সটেনশানআইডিটি ফিরিয়ে দেয় , এটি কার্যকর নয় কারণ কোনও এক্সটেনশন managementএপিআই ব্যবহার করে নিজেকে পুনরায় লোড করতে পারে না (অক্ষম করার পরে, এটি আবার এক্সটেনশান সক্ষম করার সুযোগ পায় না)।
রব ডাব্লু

40

যে কোনও অনুষ্ঠান বা ইভেন্টে

chrome.runtime.reload();

আপনার এক্সটেনশন ( ডক্স ) পুনরায় লোড করবে । আপনাকে ম্যানিফেস্ট.জসন ফাইলও পরিবর্তন করতে হবে, যোগ করে:

...
"permissions": [ "management" , ...]
...

আমার জন্য এই সমাধানটি কেবল তখনই কাজ করে যদি আমি সূচিপত্রের স্ক্রিপ্টে chrome.runtime.reload () লিখে থাকি যেখানে ম্যানিফেস্ট ফাইলটিতে নিম্নলিখিত পদ্ধতিতে নির্দিষ্ট করা হয়: ** "পটভূমি": page "পৃষ্ঠা": "সূচক। এইচটিএমএল ", **। আমার কন্টেন্ট_স্ক্রিপ্ট জেএস ফাইলে, আমি এই ফাংশনটি অ্যাক্সেস করতে পারিনি। আমি বিশ্বাস করি, এটি সুরক্ষা পুনর্বিবেচনার জন্য।
টাইটাসফেক্স

আপনার সামগ্রীর স্ক্রিপ্ট ক্রোম এপিআই-তে কথা বলতে পারে না। এটি কাজ করার জন্য আপনাকে বার্তাগুলি ব্যবহার করতে হবে
মার্সেলোক্র্যাট

আপনি যখন ফোন chrome.runtime.reload(), আসলে কি ঘটে? একাধিক পৃষ্ঠাগুলি / ট্যাবগুলি রিফ্রেশ করে?
আলেকজান্ডার মিলস 23

5
আমি অনুমান করছি chrome.runtime.reload()যে আমাদের পটভূমি স্ক্রিপ্ট থেকে কল করা উচিত
আলেকজান্ডার মিলস

আমার জন্য কাজ করেছেন। ধন্যবাদ
মাইকমুরকো

39

আমি একটি গরম এম্বেডেবল স্ক্রিপ্ট তৈরি করেছি গরম পুনরায় লোড:

https://github.com/xpl/crx-hotreload

এটি কোনও এক্সটেনশানের ডিরেক্টরিতে ফাইল পরিবর্তনের জন্য নজর রাখে। যখন কোনও পরিবর্তন সনাক্ত হয়, এটি এক্সটেনশনটি পুনরায় লোড করে এবং সক্রিয় ট্যাবটিকে সতেজ করে তোলে (আপডেট হওয়া সামগ্রীর স্ক্রিপ্টগুলি পুনরায় ট্রিগার করতে)।

  • ফাইলগুলির টাইমস্ট্যাম্পগুলি পরীক্ষা করে কাজ করে
  • নেস্টেড ডিরেক্টরি সমর্থন করে
  • উত্পাদন কনফিগারেশনে স্বয়ংক্রিয়ভাবে নিজেকে অক্ষম করে

3
আপনি যদি "গল্প স্বাদযুক্ত" সমাধান খুঁজছেন, এটি এটি।
ow3n

1
দুর্দান্ত কাজ করেছে আপনি কি এনপিএম প্যাকেজ তৈরি বিবেচনা করেছেন?
পিক্সিলিথ

@ পিক্সেলিয়ার হ্যাঁ, কেন না। হুম, তবে ব্যবহারের ক্ষেত্রে কী হবে? আপনি npm install crx-hotreloadএক্সটেনশনের ডিরেক্টরিতে প্রবেশ করেন এবং তারপরে স্ক্রিপ্টটি "scripts": ["./node_modules/crx-hotreload/hot-reload.js"]কীভাবে উল্লেখ করেন ? আমি ভুল হলে আমাকে সংশোধন করুন।
ভাইটালি গর্ডন

1
@ মিলফোর্ডকিউবিল আমি এমন একটি অবজেক্ট রফতানি করার পরামর্শ দেব যা এমন একটি পদ্ধতি রয়েছে যা আপনি আপনার ব্যাকগ্রাউন্ড.জেএস ফাইলটিতে কল করতে পারেন। সুতরাং import reloader from 'hot-reload'স্ক্রিপ্টে আবার কিছু
হ'ল রিলোডার.check

3
উত্তরের আরও বেশি পরিমাণে প্রয়োজন। ওয়েবপ্যাকের সাথেও সমন্বিতভাবে --watchকাজ করে, কারণ আপনি এটি কেবল আপনার বিল্ড ফোল্ডারে রেখে দিতে পারেন তাই বিল্ড প্রক্রিয়া শেষ হওয়ার পরে এটি কেবল আপডেট হয়। কোনও জটিল ওয়েবপ্যাক পোস্ট-বিল্ড কমান্ড প্লাগইন নেই।
ভি রুবিনেটি

10

আর একটি সমাধান হ'ল কাস্টম লাইভরলোড স্ক্রিপ্ট (এক্সটেনশন-রিলোডলোড.জে) তৈরি করা:

// Reload client for Chrome Apps & Extensions.
// The reload client has a compatibility with livereload.
// WARNING: only supports reload command.

var LIVERELOAD_HOST = 'localhost:';
var LIVERELOAD_PORT = 35729;
var connection = new WebSocket('ws://' + LIVERELOAD_HOST + LIVERELOAD_PORT + '/livereload');

connection.onerror = function (error) {
  console.log('reload connection got error:', error);
};

connection.onmessage = function (e) {
  if (e.data) {
    var data = JSON.parse(e.data);
    if (data && data.command === 'reload') {
      chrome.runtime.reload();
    }
  }
};

এই স্ক্রিপ্টটি ওয়েবসকেট ব্যবহার করে লাইভরলোড সার্ভারের সাথে সংযুক্ত। তারপরে, এটি লাইভরলোড থেকে পুনরায় লোড বার্তাটির জন্য একটি chrome.runtime.reload () কল জারি করবে issue পরবর্তী পদক্ষেপটি হ'ল এই স্ক্রিপ্টটিকে আপনার ম্যানিফেস্ট.জেসনের পটভূমি স্ক্রিপ্ট হিসাবে চালানোর জন্য যুক্ত করা!

দ্রষ্টব্য: এটি আমার সমাধান নয়। আমি শুধু এটি পোস্ট করছি। আমি এটি ক্রোম এক্সটেনশন জেনারেটরের উত্পন্ন কোডে পেয়েছি (দুর্দান্ত সরঞ্জাম!)) আমি এটি এখানে পোস্ট করছি কারণ এটি সাহায্য করতে পারে।


9

ক্রোম এক্সটেনশনের একটি অনুমতি ব্যবস্থা রয়েছে যা এটি এটির অনুমতি দেয় না (এসও-তে কিছু লোকেরা আপনার মতো একই সমস্যা ছিল ), তাই তাদের "এই বৈশিষ্ট্যটি যুক্ত করতে" অনুরোধ করা আইএমও কাজ করে না। প্রস্তাবিত সমাধান (তত্ত্ব) ব্যবহার করে ক্রোমিয়াম এক্সটেনশান গুগল গ্রুপের একটি মেল রয়েছেchrome.extension.getViews() , তবে এটি কাজ করার গ্যারান্টিযুক্ত নয়।

যদি manifest.jsonকিছু ক্রোমের অভ্যন্তরীণ পৃষ্ঠাগুলির মতো যুক্ত করা সম্ভব হয় তবে chrome://extensions/এটি এমন একটি প্লাগইন তৈরি করা সম্ভব হবে যা Reloadঅ্যাঙ্করটির সাথে যোগাযোগ করবে এবং এক্সআরফ্রেশের মতো একটি বহিরাগত প্রোগ্রাম (একটি ফায়ারফক্স প্লাগইন - রুবি এবং ওয়েবস্কট ব্যবহার করে একটি ক্রোম সংস্করণ রয়েছে) ), আপনি যা প্রয়োজন কেবল তা অর্জন করবেন:

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

এটি করা সম্ভব নয় তবে আমি মনে করি আপনি একই ধারণাটি অন্যভাবে ব্যবহার করতে পারেন।

এর পরিবর্তে আপনি তৃতীয় পক্ষের সমাধানগুলি সন্ধান করার চেষ্টা করতে পারেন, কোনও ফাইলে পরিবর্তনগুলি দেখার পরে (আমি ইমাসকে টেক্সটমেটও জানি না, তবে ইমাসে "অ্যাপ্লিকেশন কলটি" ফাইল সংরক্ষণ করুন "কর্মের মধ্যে আবদ্ধ করা সম্ভব হবে) একটি নির্দিষ্ট অ্যাপ্লিকেশনের একটি নির্দিষ্ট স্থানাঙ্কে ক্লিক করুন: এক্ষেত্রে এটি Reloadআপনার বর্ধনের প্রসার থেকে অ্যাঙ্কর রয়েছে (আপনি কেবল এই পুনরায় লোডের জন্য একটি ক্রোম উইন্ডো খোলা রেখেছেন)।

(জাহান্নাম হিসাবে ক্রেজি তবে এটি কার্যকর হতে পারে)


7

এখানে একটি ফাংশন রয়েছে যা আপনি পরিবর্তনগুলির জন্য ফাইলগুলি দেখতে ব্যবহার করতে পারেন, এবং পরিবর্তনগুলি সনাক্ত করা থাকলে পুনরায় লোড করুন। এটি এজেএক্সের মাধ্যমে তাদের পোলিং করে এবং উইন্ডো.লোকেশন.রেলোড () এর মাধ্যমে পুনরায় লোড করে কাজ করে। আমি মনে করি আপনার বিতরণ প্যাকেজে এটি ব্যবহার করা উচিত নয়।

function reloadOnChange(url, checkIntervalMS) {
    if (!window.__watchedFiles) {
        window.__watchedFiles = {};
    }

    (function() {
        var self = arguments.callee;
        var xhr = new XMLHttpRequest();

        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                if (__watchedFiles[url] &&
                    __watchedFiles[url] != xhr.responseText) {
                    window.location.reload();
                } else {
                    __watchedFiles[url] = xhr.responseText
                    window.setTimeout(self, checkIntervalMS || 1000);
                }
            }
        };

        xhr.open("GET", url, true);
        xhr.send();
    })();
}

reloadOnChange(chrome.extension.getURL('/myscript.js'));

করতে পারেন, যুক্ত করুন: পুনরায় লোড ওনচেনজ (chrome.extension.getURL ('/ manifest.json'));
স্কট

আমি চেষ্টা করেছি pastebin.com/mXbSPkeu কিন্তু এক্সটেনশান না আপডেট (স্পষ্ট এন্ট্রি, সামগ্রী স্ক্রিপ্টের, ব্রাউজার ক্রিয়ার) (উবুন্টু 11.10, ক্রোম 18)। শুধুমাত্র আপডেট ফাইল পৃষ্ঠভূমি পৃষ্ঠা (পরিবর্তিত হয় console.logবার্তাগুলি দেখা না)।
রব ডব্লিউ

"পরিবর্তনগুলির জন্য ফাইলগুলি দেখুন এবং যদি পরিবর্তনগুলি সনাক্ত হয় তবে পুনরায় লোড করুন" " আমার জীবনের জন্য আমি দেখতে পাচ্ছি না কিভাবে এটি জানবে যে কোনও ফাইল পরিবর্তিত হয়েছে? দারুণ লাগে বলে দয়া করে আমাকে বুঝতে সহায়তা করুন!
জেসনডাভিস

আমি এখন দেখতে পাচ্ছি, এটি ফাইলের সামগ্রীটির একটি অনুলিপি সঞ্চয় করছে এবং ক্যাজড সংস্করণটিকে আজাক্স লাইভ সংস্করণের সাথে তুলনা করছে .... চালাক!
জেসনডাভিস

6

পার্টিতে আমি কিছুটা দেরি করে ফেলেছি তবে https://chrome.google.com/webstore/detail/chrome-unpacked-extension/fddfkmklefkhanofhlohnkemejcbamln তৈরি করে আমার জন্য এটি সমাধান করেছি

এটি chrome://extensionsযখনই পৃষ্ঠা পুনরায় লোড করে কাজ করেfile.change ওয়েবসকেটের মাধ্যমে ইভেন্টগুলি আগত হয়।

file.changeএকটি এক্সটেনশান ফোল্ডারে ফাইলের পরিবর্তে কীভাবে ইভেন্টটি নির্গত করা যায় তার একটি গুল্প ভিত্তিক উদাহরণ এখানে পাওয়া যাবে: https://github.com/robin-drexler/chrome-extension-auto-reload-watcher

এক্সটেনশানগুলি পুনরায় লোড / পুনরায় সক্ষম করতে এক্সটেনশান পরিচালনা এপিআই ব্যবহার না করে কেন পুরো ট্যাবটি পুনরায় লোড করবেন? বর্তমানে এক্সটেনশানগুলি অক্ষম ও সক্ষম করে আবার কোনও খোলা পরিদর্শন উইন্ডো (কনসোল লগ ইত্যাদি) বন্ধ হয়ে যায়, যা আমি সক্রিয় বিকাশের সময় খুব বিরক্তিকর বলে মনে করেছি।


চমৎকার! আমি দেখতে পাচ্ছি একটি নতুন আপগ্রেডেড পুনরায় লোড () ফাংশনের জন্য আপনার কাছে PR আছে।
সিজারসোল

4

আপনি যদি ওয়েবপ্যাক ব্যবহার করে বিকাশ করে থাকেন তবে একটি স্বয়ংক্রিয় পুনরায় লোড প্লাগইন রয়েছে: https://github.com/rubenspgcavalcante/webpack-chrome-extension-reloader

const ChromeExtensionReloader = require('webpack-chrome-extension-reloader');

plugins: [
    new ChromeExtensionReloader()
]

আপনি যদি ওয়েবপ্যাক.কমফিগ.জেএস সংশোধন করতে না চান তবে একটি সিএলআই সরঞ্জামের সাথে আসে:

npx wcer

দ্রষ্টব্য: একটি (খালি) ব্যাকগ্রাউন্ড স্ক্রিপ্ট আপনার প্রয়োজন না হলেও এটি প্রয়োজনীয় কারণ এটি সেখানেই পুনরায় লোড কোডটি ইনজেক্ট করে।


ইতিমধ্যে সংরক্ষণাগারভুক্ত করা হয়েছে :( github.com/rubenspgcavalcante/webpack- এক্সটেনশন- রিলোডারটি দেখানো যা ক্রস ব্রাউজার, এবং এখনও সক্রিয় বিকাশে রয়েছে :)
con--

3

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

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


আপনি কোন সংস্করণটি ব্যবহার করছেন তা আমি জানি না, তবে 16.0.912.63 মিটার হিসাবে ক্রোম সমস্ত ফাইল স্বয়ংক্রিয়ভাবে পুনরায় লোড করে। প্রকাশ ব্যতীত
জেকুজ

@ জেকিউজ: ফাইলগুলি আমার জন্য পুনরায় লোড করা হয়নি। :(
র্যান্ডমব্লিউ

তুমি ঠিক. আমি বিকল্প পৃষ্ঠাটি বিকাশ করছিলাম, যা ডকুমেন্টটি যুক্ত করা থেকে স্ক্রিপ্টগুলিকে কল করে এবং সেগুলি পুনরায় লোড করে।
সামগ্রী_স্ক্রিপ্ট

3

হয়ত কিছুটা দেরি হয়ে গেছে তবে আমি মনে করি crxreload আপনার জন্য কাজ করতে পারে। এটি বিকাশের সময় পুনরায় লোড-অন-সেভ ওয়ার্কফ্লো করার চেষ্টা করার ফলাফল আমার।


3

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

সুতরাং আমার পদ্ধতির হালকা ওজনের, এবং আপনি পুনরায় লোড ফাংশনটি ভিতরে রাখতে পারেন

manifest.json টি

{
    ...
    "background": {
        "scripts": [
            "src/bg/background.js"
        ],
        "persistent": true
    },
    "commands": {
        "Ctrl+M": {
            "suggested_key": {
                "default": "Ctrl+M",
                "mac": "Command+M"
            },
            "description": "Ctrl+M."
        }
    },
    ...
}

src / বিজি / background.js

chrome.commands.onCommand.addListener((shortcut) => {
    console.log('lets reload');
    console.log(shortcut);
    if(shortcut.includes("+M")) {
        chrome.runtime.reload();
    }
})

পুনরায় লোড করার জন্য ক্রোম ব্রাউজারে এখন Ctrl + M টিপুন


আপনি ব্রাউজারঅ্যাকশনে পুনরায় লোড ফাংশনটিও ব্যবহার করতে পারেন যাতে এটি বোতাম ক্লিকে পুনরায় লোড হবে। stackoverflow.com/questions/30427908/...
powerd

হ্যাঁ আপনি ক্রোম.আরুনটাইম.রেড () লোড করতে পারেন সর্বদা। আমি ব্যবহার করি: সম্পাদক> সিটিআরএল + এস> আল্ট + ট্যাব> সিআরটিএল + এম। পটভূমি..জেস কনসোল খোলা রয়েছে। এটির দ্রুত, কোনও মাউস ব্যবহার না করে
জোহান হিকসমা

2

npm initএরপরে ডিরেক্টরি রুটে একটি প্যাকেজ.জসন তৈরি করতে ব্যবহার করুন

npm install --save-dev gulp-open && npm install -g gulp

তারপরে একটি তৈরি করুন gulpfile.js

যা দেখে মনে হচ্ছে:

/* File: gulpfile.js */

// grab our gulp packages
var gulp  = require('gulp'),
    open = require('gulp-open');

// create a default task and just log a message
gulp.task('default', ['watch']);

// configure which files to watch and what tasks to use on file changes
gulp.task('watch', function() {
  gulp.watch('extensionData/userCode/**/*.js', ['uri']);
});

gulp.task('uri', function(){
  gulp.src(__filename)
  .pipe(open({uri: "http://reload.extensions"}));
});

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


2

দাবি অস্বীকার: আমি নিজেই এই এক্সটেনশনটি বিকাশ করেছি।

ক্লার্ক - ক্রোম লাইভ এক্সটেনশন রিলোডিং ক্লায়েন্টের জন্য

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

বোনাস: আপনার অংশে কিছুটা অতিরিক্ত কাজ করে, আপনি নিজের এক্সটেনশন পরিবর্তিত ওয়েবপৃষ্ঠাগুলিও স্বয়ংক্রিয়ভাবে পুনরায় লোড করতে পারেন।

বেশিরভাগ ওয়েবপৃষ্ঠার বিকাশকারীরা কোনও প্রকারের প্রহরী সহ একটি বিল্ড সিস্টেম ব্যবহার করেন যা স্বয়ংক্রিয়ভাবে তাদের ফাইলগুলি তৈরি করে এবং তাদের সার্ভার পুনরায় চালু করে এবং ওয়েবসাইটটি পুনরায় লোড করে।

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

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

ক্লার্ক সম্পূর্ণ পুনরায় লোড বার্তাটিকে পুনরায় লোড করার পরে আপনার এক্সটেনশনে ফরোয়ার্ড করে, যাতে আপনি আরও রিফ্রেশ পদক্ষেপগুলি ট্রিগার করতে প্রদত্ত বার্তাটি বিকল্পভাবে ব্যবহার করতে পারেন।



1

@ গমনসি এবং @ অ্যারিক এবং কিছুটা অতিরিক্ত সময়কে ধন্যবাদ, আমি এই কাজটি করার জন্য পরিচালনা করি। এই কাজটি করতে আমাকে দুটি ফাইল পরিবর্তন করতে হয়েছিল।

(1) সেই অ্যাপ্লিকেশনের জন্য লাইভরেলোড এবং ক্রোম এক্সটেনশন ইনস্টল করুন। এটি ফাইল পরিবর্তনের জন্য কিছু স্ক্রিপ্ট কল করবে।

(2) খোলা <LiveReloadInstallDir>\Bundled\backend\res\livereload.js

(3) লাইন পরিবর্তন #509করুন

this.window.location.href = "http://reload.extensions";

(৪) এখন আর একটি এক্সটেনশান ইনস্টল করুন Extensions Reloaderযাতে দরকারী লিঙ্ক হ্যান্ডলার রয়েছে যা নেভিগেশনে সমস্ত বিকাশ এক্সটেনশানগুলি পুনরায় লোড করে"http://reload.extensions"

(5) এখন background.min.jsএই এক্সটেনশানটি এইভাবে পরিবর্তন করুন

if((d.installType=="development")&&(d.enabled==true)&&(d.name!="Extensions Reloader"))

প্রতিস্থাপন

if((d.installType=="development")&&(d.enabled==true)&&(d.name!="Extensions Reloader")&&(d.name!="LiveReload"))

লাইভরেলোড অ্যাপ্লিকেশনটি খুলুন, এক্সটেনশন রিলোডার বোতামটি আড়াল করুন এবং টুলবারের বোতামে ক্লিক করে লাইভরেলোড এক্সটেনশন সক্রিয় করুন, আপনি এখন লাইভরেলোড (সিএসএস পুনরায় লোড, চিত্র পুনরায় লোড ইত্যাদি) থেকে সমস্ত অন্যান্য গুডিজ ব্যবহার করার সময় প্রতিটি ফাইলের পরিবর্তনে পৃষ্ঠা এবং এক্সটেনশনগুলি পুনরায় লোড করবেন will

এ সম্পর্কে কেবল খারাপ জিনিসটি হ'ল আপনাকে প্রতিটি এক্সটেনশন আপডেটে স্ক্রিপ্ট পরিবর্তন করার পদ্ধতিটি পুনরাবৃত্তি করতে হবে। আপডেটগুলি এড়াতে, প্যাকযুক্ত হিসাবে এক্সটেনশন যুক্ত করুন।

আমি যখন এ নিয়ে গোলযোগ করতে আরও সময় পাব তখন আমি সম্ভবত এক্সটেনশন তৈরি করব যা এই উভয় এক্সটেনশনের প্রয়োজনকেই দূর করে।

ততক্ষণে , আমি আমার এক্সটেনশান প্রজেক্সট অ্যাক্সিমেনে কাজ করছি


1

শুধু একটি নবীন পাওয়া ঘোঁৎ ঘোঁৎ ভিত্তিক প্রকল্প যে বুটস্ট্র্যাপিং উপলব্ধ ভারা, কিছু স্বয়ংক্রিয় প্রাক প্রক্রিয়াকরণ অনুষদ, সেইসাথে স্বয়ংক্রিয় পুনরায় লোড (কোন মিথষ্ক্রিয়া প্রয়োজন)।

ওয়েবসুরিফাই থেকে আপনার ক্রোম এক্সটেনশন বুটস্ট্র্যাপ করুন


1

আপনার যদি ম্যাক থাকে তবে f সবচেয়ে সহজ উপায় আলফ্রেড অ্যাপের মাধ্যমে!

পাওয়ারপ্যাক দিয়ে স্রেফ আলফ্রেড অ্যাপ পান , তারপরে নীচের লিঙ্কটিতে প্রদত্ত ওয়ার্কফ্লো যুক্ত করুন এবং আপনার পছন্দমতো হটকি কাস্টমাইজ করুন (আমি ⌘ + ⌥ + আর ব্যবহার করতে চাই)। এখানেই শেষ.

এখন, প্রতিবার আপনি হটকি, গুগল ক্রোম ব্যবহার করুন পুনরায় লোড হবে, আপনি যে মুহূর্তে কোনও অ্যাপ্লিকেশনই নন।

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

আমি এখানে ReloadChrome.alfredworkflow ফাইলে ব্যবহৃত / usr / bin / osascript স্ক্রিপ্টের বিষয়বস্তুটিও দেখাব যাতে আপনি এটি কী করছে তা দেখতে পারেন।

tell application "Google Chrome"
  activate
  delay 0.5
  tell application "System Events" to keystroke "r" using command down
  delay 0.5
  tell application "System Events" to keystroke tab using command down
end tell

ওয়ার্কফ্লো ফাইলটি ReloadChrome.alfred ওয়ার্কফ্লো ।


1

আমি আমার এক্সটেনশানগুলি রাতারাতি পুনরায় লোড করতে (আপডেট) করতে চাই, এটি আমি ব্যাকগ্রাউন্ডে ব্যবহার করি jjs:

var d = new Date();
var n = d.getHours();
var untilnight = (n == 0) ? 24*3600000 : (24-n)*3600000; 
// refresh after 24 hours if hour = 0 else
// refresh after 24-n hours (that will always be somewhere between 0 and 1 AM)
setTimeout(function() {
    location.reload();
}, untilnight);

শুভেচ্ছা, পিটার


0

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


0

ডক্সে উল্লিখিত হিসাবে: নিম্নলিখিত কমান্ড লাইনটি একটি অ্যাপ্লিকেশন পুনরায় লোড করবে

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --load-and-launch-app=[path to the app ]

সুতরাং আমি সবেমাত্র একটি শেল স্ক্রিপ্ট তৈরি করেছি এবং সেই ফাইলটিকে কলসি থেকে কল করেছি। অতি সহজ:

var exec = require('child_process').exec;



gulp.task('reload-chrome-build',function(cb){

console.log("reload");

var cmd="./reloadchrome.sh"

exec(cmd,function (err, stdout, stderr) {
    console.log("done: "+stdout);

    cb(err);
    }
);});

স্ক্রিপ্টগুলিতে আপনার প্রয়োজনীয় ওয়াচ কমান্ডগুলি চালনা করুন এবং আপনি যখন চান তখন পুনরায় লোড টাস্কটি কল করুন। পরিষ্কার, সরল।


0

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

Run("c:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
WinWaitActive("New Tab - Google Chrome")
Send("^l")
Send("chrome://extensions{ENTER}")
WinWaitActive("Extensions - Google Chrome")
Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}")
Send("{ENTER}")
WinWaitActive("Extensions - Google Chrome")
Send("{TAB}{TAB}")
Send("{ENTER}")
WinWaitActive("Developer Tools")
Send("^`")

স্পষ্টতই আপনি আপনার টেস্টিং / পুনরাবৃত্তি প্রয়োজন অনুসারে কোড পরিবর্তন করেছেন। অ্যাঙ্কার ট্যাগ যেখানে ক্রোম: // এক্সটেনশানগুলি সাইটে রয়েছে সে বিষয়ে ট্যাব ক্লিকগুলি সত্য কিনা তা নিশ্চিত করুন। আপনি উইন্ডো মাউস মুভমেন্ট এবং এই জাতীয় অন্যান্য ম্যাক্রোগুলির সাথে সম্পর্কিত হতে পারেন।

আমি স্ক্রিপ্টটি এর সাথে অনুরূপভাবে ভিমে যুক্ত করব:

map <leader>A :w<CR>:!{input autoit loader exe here} "{input script location here}"<CR>

এর অর্থ এই যে আমি যখন ভিমে থাকি আমি লিটার বোতাম হিসাবে পরিচিত ENTER (সাধারণত দায়ী: | এবং \) এর উপরের বোতামটি টিপুন এবং এটি একটি মূলধন 'এ' দিয়ে অনুসরণ করুন এবং এটি আমার পরীক্ষার পর্বের স্ক্রিপ্টটি সংরক্ষণ করে এবং শুরু করে।

উপরের ভিম / হটকি স্ক্রিপ্টের যথাযথভাবে {ইনপুট ...} বিভাগগুলি পূরণ করার বিষয়টি নিশ্চিত করুন।

অনেক সম্পাদক আপনাকে হটকির সাথে একই জাতীয় কিছু করার অনুমতি দেবে।

অটোআইটির বিকল্পগুলি এখানে পাওয়া যাবে

উইন্ডোজের জন্য: অটোহটকি

লিনাক্সের জন্য: xdotool, xbindkeys

ম্যাকের জন্য: অটোমেটার


0

আমি প্রাথমিকভাবে ফায়ারফক্সে বিকাশ করি, যেখানে web-ext runফাইল পরিবর্তনের পরে স্বয়ংক্রিয়ভাবে এক্সটেনশনটি পুনরায় লোড করে। তারপরে এটি প্রস্তুত হয়ে গেলে, ফায়ারফক্সে প্রদর্শিত হয়নি এমন কোনও সমস্যা নেই তা নিশ্চিত করার জন্য আমি Chrome এ চূড়ান্ত পরীক্ষার চেষ্টা করি।

আপনি যদি ক্রোমে প্রাথমিকভাবে বিকাশ করতে চান এবং কোনও তৃতীয় পক্ষের এক্সটেনশন ইনস্টল করতে না চান তবে অন্য বিকল্পটি হ'ল test.htmlএক্সটেনশনের ফোল্ডারে একটি ফাইল তৈরি করা এবং এতে এসএসসিসি'র একগুচ্ছ যুক্ত করা। ফাইলটি তখন একটি সাধারণ ব্যবহার করে<script> এক্সটেনশান স্ক্রিপ্টটি ইনজেক্ট করতে ট্যাগ করে।

আপনি এটি 95% পরীক্ষার জন্য ব্যবহার করতে পারেন এবং আপনি যখন লাইভ সাইটগুলিতে এটি পরীক্ষা করতে চান তখন এক্সটেনশনটি ম্যানুয়ালি পুনরায় লোড করুন।

এটি কোনও এক্সটেনশান যে পরিবেশটি চালিত করে তা একইভাবে পুনরুত্পাদন করে না, তবে এটি অনেকগুলি সাধারণ জিনিসের পক্ষে যথেষ্ট ভাল।



-1

হ্যাঁ, আপনি এটি পরোক্ষভাবে করতে পারেন! এখানে আমার সমাধান।

প্রকাশ.জসনে

{
    "name": "",
    "version": "1.0.0",
    "description": "",
    "content_scripts":[{
        "run_at":"document_end",
        "matches":["http://*/*"],
        "js":["/scripts/inject.js"]
    }]
}

Inject.js ইন

(function() {
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.async = true;
    script.src = 'Your_Scripts';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(script, s);
})();

আপনার ইনজেকশন স্ক্রিপ্ট যে কোনও অবস্থান থেকে অন্যান্য স্ক্রিপ্ট ইনজেক্ট করতে পারে।

এই টেকনিকের আর একটি সুবিধা হ'ল আপনি কেবল বিচ্ছিন্ন বিশ্বের সীমাবদ্ধতা উপেক্ষা করতে পারেন । দেখতে সামগ্রী স্ক্রিপ্টের সম্পাদন পরিবেশ


আমার জন্য কাজ করছেন না? যদি আমি স্ক্রিপ্ট.এসসিআর = 'foo.js' চেষ্টা করি তবে এটি বর্তমান ওয়েবসাইটের তুলনায় একটি url সন্ধান করে। যদি আমি পূর্ণ পাথটি চেষ্টা করি তবে: স্থানীয় সংস্থান লোড করার অনুমতি নেই: 'ফাইল: ///../foo.js'
জেসি অ্যালড্রিজ

-2

ব্রাউজার-সিঙ্ক

আশ্চর্যজনক ব্রাউজার-সিঙ্ক ব্যবহার করে

  • ব্রাউজারগুলি আপডেট করুন (যে কোনও) যখন উত্স কোড পরিবর্তন হয় (এইচটিএমএল, সিএসএস, চিত্র ইত্যাদি)
  • উইন্ডোজ, ম্যাকস এবং লিনাক্স সমর্থন করে
  • এমনকি আপনি নিজের মোবাইল ডিভাইসগুলি ব্যবহার করে আপনার কোড আপডেটগুলি (লাইভ) দেখতে পেতেন

MacOS এ ইনস্টলেশন (অন্যান্য ওএসে ইনস্টল করতে তাদের সহায়তা দেখুন)

এনভিএম ইনস্টল করুন, যাতে আপনি যে কোনও নোড সংস্করণ চেষ্টা করতে পারেন

brew install nvm             # install a Node version manager
nvm ls-remote                # list available Node versions
nvm install v10.13.0         # install one of them
npm install -g browser-sync  # install Browser-Sync

স্থিতিশীল সাইটের জন্য ব্রাউজার-সিঙ্ক কীভাবে ব্যবহার করবেন

আসুন দুটি উদাহরণ দেখুন:

browser-sync start --server --files . --host YOUR_IP_HERE --port 9000

browser-sync start --server --files $(ack --type-add=web:ext:htm,html,xhtml,js,css --web -f | tr \\n \ ) --host $(ipconfig getifaddr en0) --port 9000

--serverবিকল্প আপনি একটি স্থানীয় সার্ভার যে কোন জায়গায় আপনি আপনার টার্মিনাল রয়েছে চালান এবং করার অনুমতি দেয় --filesআপনি তা নির্দিষ্ট ফাইল পরিবর্তনের জন্য ট্র্যাক করা হবে না। আমি ট্র্যাক করা ফাইলগুলির জন্য আরও সুনির্দিষ্ট হওয়া পছন্দ করি, তাই দ্বিতীয় উদাহরণে আমি ব্যবহার করিack নির্দিষ্ট ফাইল এক্সটেনশনের তালিকা তৈরির জন্য (গুরুত্বপূর্ণ যে সেই ফাইলগুলির স্পেসের সাথে ফাইলের নাম নেই) এবং এছাড়াও ব্যবহার করিipconfig ম্যাকওএসে আমার বর্তমান আইপি সন্ধান করি।

গতিশীল সাইটগুলির জন্য কীভাবে ব্রাউজার-সিঙ্ক ব্যবহার করবেন

আপনি যদি পিএইচপি, রেলস ইত্যাদি ব্যবহার করছেন তবে আপনার ইতিমধ্যে একটি চলমান সার্ভার রয়েছে তবে আপনি আপনার কোডটিতে পরিবর্তন আনলে তা স্বয়ংক্রিয়ভাবে রিফ্রেশ হয় না। সুতরাং আপনাকে --proxyসেই সার্ভারের হোস্ট কোথায় তা ব্রাউজার-সিঙ্কটি জানাতে সুইচটি ব্যবহার করতে হবে ।

browser-sync start --files $(ack --type-add=rails:ext:rb,erb,js,css,sass,scss,coffee --rails -f | tr \\n \ ) --proxy 192.168.33.12:3000 --host $(ipconfig getifaddr en0) --port 9000 --no-notify --no-open

উপরের উদাহরণে, আমার ব্রাউজারে ইতিমধ্যে আমার কাছে একটি রেলস অ্যাপ চলছে 192.168.33.12:3000। এটি সত্যিই কোনও ভ্যাগ্র্যান্ট বাক্স ব্যবহার করে কোনও ভিএম-তে চালিত হয়, তবে আমি সেই হোস্টের 3000 পোর্ট ব্যবহার করে ভার্চুয়াল মেশিনটি অ্যাক্সেস করতে পারি। আমি পছন্দ করি--no-notify যখনই আমার কোড এবং পরিবর্তন করি তখনই আমি ব্রাউজারে একটি বিজ্ঞপ্তি সতর্কতা পাঠানো ব্রাউজার-সিঙ্ক বন্ধ করতে--no-open এবং সার্ভার শুরু হওয়ার সাথে সাথে ব্রাউজার-সিঙ্ক আচরণটি বন্ধ করতে চাই যা তত্ক্ষণাত ব্রাউজার ট্যাব লোড করে দেয়।

গুরুত্বপূর্ণ: আপনি যদি রেলগুলি ব্যবহার করছেন তবে উন্নয়নের ক্ষেত্রে টারবোলিংকস ব্যবহার এড়িয়ে চলুন, অন্যথায় আপনি ব্যবহার করার সময় আপনার লিঙ্কগুলিতে ক্লিক করতে সক্ষম হবেন না--proxy বিকল্পটি ।

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

ক্রেডিট: একটি কমান্ড দিয়ে একটি স্থানীয় লাইভ পুনরায় লোড ওয়েব সার্ভার শুরু করুন


-4

এটি সরাসরি করা যায় না। দুঃখিত।

যদি আপনি এটিকে কোনও বৈশিষ্ট্য হিসাবে দেখতে চান তবে আপনি http://crbug.com/new এ অনুরোধ করতে পারেন


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