डिफॉल्ट फ़ाइल में एनजी सर्व के लिए डिफ़ॉल्ट होस्ट और पोर्ट सेट करें


166

मैं जानना चाहता हूं कि क्या मैं एक कॉन्फ़िगर फ़ाइल में होस्ट और पोर्ट सेट कर सकता हूं ताकि मुझे टाइप न करना पड़े

ng serve --host foo.bar --port 80

इसके बजाय बस

ng serve

जवाबों:


233

कोणीय सीएलआई 6+

कोणीय के नवीनतम संस्करण में, इस में सेट है कॉन्फ़िग फ़ाइल । उदाहरण:angular.json

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "projects": {
        "my-project": {
            "architect": {
                "serve": {
                    "options": {
                        "port": 4444
                    }
                }
            }
        }
    }
}

आप मान देखने / संपादित करने के लिए भी उपयोगng config कर सकते हैं :

ng config projects["my-project"].architect["serve"].options {port:4444}

कोणीय सीएलआई <6

पिछले संस्करणों में, यह तत्व के नीचे सेट कियाangular-cli.json गया था defaults:

{
  "defaults": {
    "serve": {
      "port": 4444,
      "host": "10.1.2.3"
    }
  }
}

7
चीजों को आसान बनाने के लिए, आप 0.0.0.0सभी ईथरनेट उपकरणों पर सुनने के लिए होस्ट आईपी के बजाय निर्दिष्ट कर सकते हैं । इस तरह से स्थानीय होस्ट और सार्वजनिक आईपी पते दोनों का उपयोग किया जा सकता है।
21

VS2017 कुछ अजीब कारण के लिए पोर्ट सेटिंग को नजरअंदाज करता है, लेकिन मैंने कम से कम रिमोट कनेक्शन को सक्षम करने के लिए @dman के जोड़ (होस्ट के रूप में 0.0.0.0) के साथ इस ट्रिक का उपयोग किया।
ओला बर्नसनसन

4
ऐसा लगता है कि सीएलआई के हाल के संस्करणों में चीजें बदल गई हैं (मैं संस्करण 6 का उपयोग कर रहा हूं)। अधिक जानकारी के लिए यहां देखें
नाथन मित्र

क्या इस कॉन्फ़िगरेशन वातावरण को विशिष्ट बनाने का कोई तरीका है?
पंकज

71

जैसा कि अभी उस सुविधा का समर्थन नहीं किया गया है, हालांकि यदि यह ऐसा कुछ है जो आपको वैकल्पिक बनाता है तो यह आपके पैकेज में होगा।

"scripts": {
  "start": "ng serve --host foo.bar --port 80"
}

इस तरह आप बस चला सकते हैं npm start

एक अन्य विकल्प यदि आप कई परियोजनाओं में ऐसा करना चाहते हैं, तो एक उपनाम बनाना है, जिसे आप संभावित रूप से नाम दे सकते हैं ngserveजो आपके उपरोक्त कमांड को निष्पादित करेगा।


क्षमा करें, foo.bar, किसका संदर्भ लें? अद्यतन: मैं इसे हटा दिया और काम करता है, लेकिन पता नहीं है।
मुहम्मद मौसा


29

यह नवीनतम कोणीय सीएलआई में बदल गया।

फ़ाइल का नाम बदल गया angular.json, और संरचना भी बदल गई।

यही आपको करना चाहिए:

"projects": {
    "project-name": {
        ...
        "architect": {
            "serve": {
                "options": {
                  "host": "foo.bar",
                  "port": 80
                }
            }
        }
        ...
    }
}

1
मेरे लिए @ कोणीय / cli संस्करण 6.1.5
PHEDev

1
@ कोणीय / क्ली संस्करण 7.0.6
केरी जोन्स

16

एक अन्य विकल्प उदाहरण के ng serveसाथ कमांड चलाना है--port

ng serve --port 5050 (यानी पोर्ट 5050 के लिए)

वैकल्पिक रूप से, कमांड:, ng serve --port 0ऑटो उपयोग के लिए एक उपलब्ध पोर्ट असाइन करेगा।


--port 0 बिट अच्छा जानकारी थी, लेकिन मुझे यकीन है कि यह सवाल का जवाब नहीं कर रहा हूँ।
ऐश

--पोर्ट 0 विकल्प को पसंद किया है, जिसे ऑटो ने उपयोग करने के लिए उपलब्ध पोर्ट को सौंपा ...
vinsinraw

यह प्रश्न विशेष रूप से एक विन्यास फाइल में इसे सेट करने का तरीका पूछता है
ओजोनुगवा जूड ओचलिफु

11

हमारे पास एंगुलर में डिफ़ॉल्ट पोर्ट नंबर को बदलने के दो तरीके हैं।

पहला तरीका CLI कमांड द्वारा है:

ng serve --port 2400 --open

दूसरा तरीका स्थान पर कॉन्फ़िगरेशन द्वारा है:

ProjectName\node_modules\@angular-devkit\build-angular\src\dev-server\schema.json.

स्कीमा.जसन फ़ाइल में परिवर्तन करें।

{
 "title": "Dev Server Target",
  "description": "Dev Server target options for Build Facade.",
  "type": "object",
  "properties": {
    "browserTarget": {
      "type": "string",
      "description": "Target to serve."
    },
    "port": {
      "type": "number",
      "description": "Port to listen on.",
      "default": 2400
    },

4
आप स्रोत फ़ाइलों को ओवरराइड या बदलना नहीं चाहते हैं। स्वीकार किए गए उत्तर में उल्लिखित स्कीमा चूक को ओवरराइड करने का सही तरीका है।
Bjørn लिंडनर

6

आप इन्हें एक फ़ाइल में सहेज सकते हैं, लेकिन आपको इसे .ember-cli(फिलहाल, कम से कम) में डालना होगा ; देख https://github.com/angular/angular-cli/issues/1156#issuecomment-227412924

{
"port": 4201,
"liveReload": true,
"host": "dev.domain.org",
"live-reload-port": 49153
}

संपादित करें: अब आप इन्हें कोणीय- cli.json में प्रतिबद्ध https://github.com/angular/angular-cli/commit/da255b0808dc2f9da62086baec98cacc4b7ec9 के रूप में सेट कर सकते हैं , जो कि 1.0.0-beta.30 -30 के निर्माण में है


5

यदि आप कस्टम होस्ट / आईपी और पोर्ट में कोणीय परियोजना को चलाने की योजना बना रहे हैं , तो विन्यास फाइल में परिवर्तन करने की कोई आवश्यकता नहीं है

निम्नलिखित कमांड ने मेरे लिए काम किया

ng serve --host aaa.bbb.ccc.ddd --port xxxx

कहाँ पे,

aaa.bbb.ccc.ddd --> IP you want to run the project
xxx --> Port you want to run the project

उदाहरण

ng serve --host 192.168.322.144 --port 6300

मेरे लिए परिणाम था

यहां छवि विवरण दर्ज करें


3

यदि आपकी खिड़कियां खिड़कियों पर हैं तो आप इसे इस तरह से कर सकते हैं:

  1. अपने प्रोजेक्ट रूट डायरेक्टरी में, फ़ाइल run.bat बनाएँ
  2. इस फ़ाइल में अपनी पसंद के अनुसार अपनी कमांड जोड़ें। उदाहरण के लिए

ng serve --host 192.168.1.2 --open

  1. अब आप जब चाहे सेवा कर सकते हैं और इस फ़ाइल को खोल सकते हैं।

यह मानक तरीका नहीं है, लेकिन उपयोग करने के लिए आरामदायक है (जो मुझे लगता है)।


0

यहाँ है कि मैं क्या पैकेज में डाल दिया।

{
  "name": "local-weather-app",
  "version": "1.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --port 5000",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

फिर एक सादे एनपीएम स्टार्ट स्टार्ट की सामग्री में खींच जाएगा। सामग्री में अन्य विकल्प भी जोड़ सकते हैं


0

यहां छवि विवरण दर्ज करें

केवल एक काम आपको करना है। इसे अपने कमांड प्रॉम्प्ट में टाइप करें: एनजी सर्व --पोर्ट 4021 [या कोई अन्य पोर्ट जिसे आप असाइन करना चाहते हैं जैसे: 5050, 5051 नंबर]। फ़ाइलों में परिवर्तन करने की आवश्यकता नहीं है।


0

यदि आप विशेष रूप से अपना स्थानीय आईपी पता खोलना चाहते हैं, तो एनजी सर्व करते समय आप निम्न कार्य कर सकते हैं:

npm install internal-ip-cli --save
ng serve --open --host $(./node_modules/.bin/internal-ip --ipv4)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.