ওয়েবপ্যাক ডেভ সার্ভারটি কীভাবে 80 কে পোর্টে এবং 0.0.0.0 এ প্রকাশ্যে অ্যাক্সেসযোগ্য করা যায়?


180

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

যখনই আমি একটি npm startকরি এটি সর্বদা চলতে থাকে localhost:8080

0.0.0.0:8080এটিকে জনসাধারণের অ্যাক্সেসযোগ্য করার জন্য আমি কীভাবে এটি চালাব ? আমি উপরের রেপোতে সোর্স কোডটি পড়ার চেষ্টা করছি তবে এই সেটিংসটি করে এমন ফাইলটি খুঁজে পেতে ব্যর্থ হয়েছি।

এছাড়াও, এটি যুক্ত করার জন্য - 80যদি এটি সম্ভব হয় তবে কীভাবে আমি এটি বন্দরে চালিত করব ?

উত্তর:


233

এরকম কিছু আমার জন্য কাজ করেছিল। আমি অনুমান করছি এটি আপনার পক্ষে কাজ করা উচিত।

এটি ব্যবহার করে ওয়েবপ্যাক-ডেভ চালান

webpack-dev-server --host 0.0.0.0 --port 80

এবং এটি ওয়েবপ্যাক.কনফিগ.জেজে সেট করুন

entry: [
    'webpack-dev-server/client?http://0.0.0.0:80',
     config.paths.demo
 ]

দ্রষ্টব্য আপনি যদি গরম লোড ব্যবহার করছেন, আপনাকে এটি করতে হবে।

এটি ব্যবহার করে ওয়েবপ্যাক-ডেভ চালান

webpack-dev-server --host 0.0.0.0 --port 80

এবং এটি ওয়েবপ্যাক.কনফিগ.জেজে সেট করুন

entry: [
    'webpack-dev-server/client?http://0.0.0.0:80',
    'webpack/hot/only-dev-server',
     config.paths.demo
 ],

....
plugins:[new webpack.HotModuleReplacementPlugin()]

1
হাই, আমি এটিতে নতুন তবে আমার ক্লায়েন্ট স্ক্রিপ্টের জন্য রিডুএক্স ব্যবহার করতে চাই। সমস্যাটি হ'ল অ্যাপ্লিকেশনটি একটি নেট অ্যাপ্লিকেশন যা সামগ্রী এবং জসন এন্ডপয়েন্টগুলিতে পরিবেশন করে। সুতরাং বিকাশের সময় <script src="http://localhost:8080/webpack-dev-server.js"></script>এটি করার জন্য আমাকে পৃষ্ঠায় যুক্ত করতে এবং প্লাগইনকে অনুমতি দিয়ে কিছু ক্রস ডোমেন ইনস্টল করতে হবে? এই সরঞ্জামগুলি আকর্ষণীয় দেখায় তবে মনে হয় আপনার সার্ভারটি নোডও রয়েছে বা আমি কিছু অনুপস্থিত রয়েছি?
এইচএমআর

1
সম্ভবত এটি আমাকে সহায়তা করবে: ওয়েবপ্যাক.github.io/docs/webpack-dev-server.html#proxy আমি জাভাস্ক্রিপ্ট ফাইলগুলির জন্য অনুরোধ এবং ওয়েবপ্যাক সার্ভার, হটলোডার এবং রিডেক্স টাইমট্রোভেল দ্বারা তৈরি কিছু অনুরোধগুলি বাদ দিয়ে সমস্ত কিছুর জন্য প্রক্সি ব্যবহার করার কথা ভাবব। সুতরাং /data:image ..., ... .jsএবং/sockjs-node...
এইচএমআর

আপনি যদি অবৈধ হোস্ট শিরোলেখ পান, আপনার ওয়েবপ্যাক.জারকোনফিগ.জেজে সত্য অক্ষম হোস্টচেক সেট করতে হবে। Github.com/webpack/webpack-dev-server/issues/882 দেখুন । আপনার পরিস্থিতির উপর নির্ভর করে এটি কোনও সুরক্ষা গর্ত হতে পারে তাই সাবধান হন।
ব্রায়ান ডিটারলিং

131

এটি আমি এটি করেছি এবং এটি বেশ ভালভাবে কাজ করছে বলে মনে হচ্ছে।

আপনার ওয়েবপ্যাক.কমফিগ.জেএস ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন:

devServer: {
    inline:true,
    port: 8008
  },

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


আমি এটি নেওয়ার পরিবর্তে কনফিগার ফাইলের এন্ট্রি বিভাগে হোস্ট এবং পোর্টটি নির্দিষ্ট করার পরিবর্তে এটি করছি?
জোটিডি

2
আপনি দয়া করে ডকুমেন্টেশনে একটি লিঙ্ক যুক্ত করতে পারেন ?
জল

1
কেবল ইনলাইন যুক্ত করা: সত্যই আমার পক্ষে কাজ করেছে। আমি সম্পাদিত ওয়েবপ্যাক ফাইলটি বিটিডাব্লু হ'ল 'ওয়েবপ্যাক.দেব.কন.ফ.এস (মার্চ ২০১ 2018 হিসাবে)।
শান ও

68

ওয়েবপ্যাকটি কনফিগার করুন (ওয়েবপ্যাক.কমফিগ.জেএস এ):

devServer: {
  // ...
  host: '0.0.0.0',
  port: 80,
  // ...
}

2
এটা জন্য কাজ করে না। ডেভ সার্ভার: line ইনলাইন: সত্য, হোস্ট: '0.0.0.0', পোর্ট: 8088},
এন কে চৌধুরী চৌধুরী

আমি (ওয়েবপ্যাক.কনফিগ) ব্যবহার করার সময় এটি আমার জন্য কাজ করছে: ডেভ সার্ভার: {হোস্ট: 'xx.xx.xx.xxx', পোর্ট: 8089},
ডিজেও

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

হ্যাঁ, এটি একটি সমস্যার সমাধান করেছে যে একটি ক্লাউড 9 উদাহরণে আমার ওয়েবপ্যাক চলছে। ধন্যবাদ!
মানিক

আমি উপরের স্নিপেট ব্যবহার করে বন্দর নম্বর পরিবর্তন করতে সক্ষম হয়েছি কিন্তু হোস্টটি এখনও পরিবর্তন হয়নি। আমি হোস্টটি 0.0.0.0 করার চেষ্টা করেছি যাতে আমি আইপি-ঠিকানা থেকে সাইটটি অ্যাক্সেস করতে পারি তবে এটি কার্যকর হয়নি। এটি অর্জনে কোনও সহায়তা?
রিতো

26

আমি জাভাস্ক্রিপ্ট বিকাশ এবং প্রতিক্রিয়া জেএসে নতুন। প্রতিক্রিয়া-স্ক্রিপ্ট কোড দেখে এটি সন্ধান না করা পর্যন্ত আমি আমার পক্ষে কার্যকর উত্তর খুঁজে পেতে পারিনি। রিঅ্যাক্টজেএস 15.4.1+ ব্যবহার করে রিঅ্যাক্ট-স্ক্রিপ্ট ব্যবহার করে আপনি পরিবেশের ভেরিয়েবল ব্যবহার করে একটি কাস্টম হোস্ট এবং / অথবা পোর্ট দিয়ে শুরু করতে পারেন:

HOST='0.0.0.0' PORT=8080 npm start

আশা করি এটি আমার মতো নতুনদের সহায়তা করবে।


16

নিম্নলিখিত আমার জন্য কাজ করেছে -

1) এটি Package.jsonযোগ করুন:

"scripts": {
    "dev": "webpack-dev-server --progress --colors"
}

2) webpack.config.jsআপনি রফতানি করে কনফিগার অবজেক্টের অধীনে:

devServer: {
    host: "GACDTL001SS369k", // Your Computer Name
    port: 8080
}

3) এখন টার্মিনাল টাইপ: npm run dev

4) # 3 সংকলনের পরে এবং প্রস্তুত হয়ে আপনার ব্রাউজারে যান এবং ঠিকানার ঠিকানা হিসাবে http://GACDTL001SS369k:8080/

আপনার অ্যাপ্লিকেশনটি আশা করা উচিত যে এখন কোনও বাহ্যিক ইউআরএল নিয়ে কাজ করা উচিত যা অন্যরা একই নেটওয়ার্কে অ্যাক্সেস করতে পারে।

পিএস: GACDTL001SS369kআমার কম্পিউটারের নাম ছিল তাই আপনার মেশিনে যা কিছু আছে তার সাথে প্রতিস্থাপন করুন।


4

আপনি যদি 'ক্রিয়ে-রিএ্যাক্ট-অ্যাপ' দিয়ে তৈরি একটি প্রতিক্রিয়া অ্যাপ্লিকেশনটিতে থাকেন তবে আপনার কাছে যান package.jsonএবং পরিবর্তন করুন

"start": "react-scripts start",

থেকে ... ( ইউনিক্স )

"start": "PORT=80 react-scripts start",

বা ... ( জয় )

"start": "set PORT=3005 && react-scripts start"


অথবা নোড_মডিউলগুলি / প্রতিক্রিয়া-স্ক্রিপ্টগুলি / স্ক্রিপ্ট / স্টার্ট.জেএস সম্পাদনা করুন এবং ডিএএফএএলএইএপিপি ও হোস্ট পরিবর্তন করুন। নতুন সংস্করণ এনপিএম আপডেটে ফাইল আপডেট করার সময় কেবল ওভাররাইটিংয়ে ফাইলটি সুরক্ষা করুন।
রোজেলিও ট্রিভিও

1

নিম্নলিখিতগুলি JSON কনফিগারেশন ফাইলে আমার জন্য কাজ করেছে:

"scripts": {
  "start": "webpack-dev-server --host 127.0.0.1 --port 80 ./js/index.js"
},

1

আমি অন্যান্য উত্তরগুলির সাথে লড়াই করেছি। (আমার সেটআপটি হ'ল: আমি উইন্ডোজের আওতায় উবুন্টু 18.04 npm run devভার্চুয়ালবক্স ব্যবহার vue init webpackকরে আমার প্রকল্প তৈরির পরে ওয়েবপ্যাক ৩.১২.০.০ সহ আমি চলছি 3

  • দুর্ভাগ্যক্রমে নির্বাণ কার্যকর npm run dev --host 0.0.0.0 --port 3000হয়নি --- এটি এখনও লোকালহোস্টে চালিত হয়েছে: 8080।
  • তদ্ব্যতীত, ফাইলটি webpack.config.jsবিদ্যমান ছিল না এবং এটি তৈরি করেও কোনও লাভ হয়নি।
  • তারপরে আমি দেখতে পেলাম যে কনফিগারেশন ফাইলগুলি এখন build/webpack.dev.conf.js(এবং build/webpack.base.conf.jsএবং build/webpack.prod.conf.js) এ অবস্থিত । যাইহোক, এই ফাইলগুলি সংশোধন করা ভাল ধারণা মত লাগেনি, কারণ তারা প্রকৃতপক্ষে HOST এবং PORT পড়ে process.env

সুতরাং আমি প্রক্রিয়া.এনভ ভেরিয়েবলগুলি কীভাবে সেট করব এবং কমান্ডটি চালিয়ে সাফল্য অর্জন করেছি সে সম্পর্কে অনুসন্ধান করেছি :

HOST=0.0.0.0 PORT=3000 npm run dev

এটি করার পরে আমি অবশেষে "আপনার অ্যাপ্লিকেশনটি এখানে চলছে: http://0.0.0.0:3000 " এবং শেষ পর্যন্ত আমি localhost:3000হোস্ট মেশিন থেকে ব্রাউজ করে এটি দেখতে সক্ষম হয়েছি ।

সম্পাদনা: এটির আর একটি উপায় খুঁজে পেয়েছি হ'ল ডেভ হোস্ট এবং পোর্ট ইন সম্পাদনা করে config/index.js


1

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

.listen(3000, 'localhost', function (err, result) {
        if (err) {
            console.log(err);
        }
        console.log('Listening at localhost:3000');
    });

এতে পরিবর্তন করা হয়েছিল:

.listen(3000, '0.0.0.0', function (err, result) {
        if (err) {
            console.log(err);
        }
        console.log('Listening at localhost:3000');
    });

এবং সার্ভারটি 0.0.0.0 এ শুনতে শুরু করেছে


0

আমি উপরের সমাধানগুলি চেষ্টা করেছিলাম, তবে ভাগ্য হয়নি। আমি আমার প্রকল্পের প্যাকেজ.জসনে এই লাইনটি লক্ষ্য করেছি:

 "bin": {
"webpack-dev-server": "bin/webpack-dev-server.js"

},

আমি bin/webpack-dev-server.jsএই লাইনটি দেখেছি এবং পেয়েছি:

.describe("port", "The port").default("port", 8080)

আমি বন্দরটি 3000 এ পরিবর্তন করেছি A


0

প্যাকেজ.জসনে নীচে "শুরু" মানটি পরিবর্তন করুন

দ্রষ্টব্য: চালান $ sudo এনপিএম শুরু , আপনার 80 পোর্টে প্রতিক্রিয়া স্ক্রিপ্টগুলি চালানোর জন্য sudo ব্যবহার করতে হবে

এখানে চিত্র বর্ণনা লিখুন


0

আমার জন্য, এই কোডটি কাজ করেছিল। এটি কেবল আপনার package.jsonফাইলে যুক্ত করুন:

"scripts": {
    "dev-server": "encore dev-server",
    "dev": "webpack-dev-server --progress --colors",
    "watch": "encore dev --watch",
    "build": "encore production --progress"
},

এবং স্ক্রিপ্টটি "বিল্ড" চালিয়ে চালান npm run build


-1

আমি সহজেই অন্য একটি বন্দর ব্যবহার করার চেষ্টা করেছি:

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