কৌণিক-ক্লাইম সার্ভার - কীভাবে ডিফল্ট পোর্টটি নির্দিষ্ট করা যায়


130

ng serveকমান্ডটি দিয়ে কৌণিক-ক্লিপ ব্যবহার করে , আমি কীভাবে একটি ডিফল্ট পোর্ট নির্দিষ্ট করতে পারি যাতে প্রতি বারে নিজেই --portপতাকাটি পাস করার প্রয়োজন হয় না ?

আমি ডিফল্ট পোর্ট 4200 থেকে পরিবর্তন করতে চাই।

উত্তর:


225

@ কৌণিক / ক্লিপ @ 9.x: এবং তার জন্য আপডেট

ইন angular.jsonআপনি প্রতি "প্রকল্পটি" একটি বন্দর নির্দিষ্ট করতে পারেন

"projects": {
    "my-cool-project": {
        ... rest of project config omitted
        "architect": {
            "serve": {
                "options": {
                    "port": 1337
                }
            }
        }
    }
}

সমস্ত বিকল্প উপলব্ধ:

https://angular.io/guide/workspace-config#project-tool-configuration-options

বিকল্পভাবে, আপনি এনজি চালানোর সময় প্রতিবার পোর্টটি নির্দিষ্ট করতে পারেন:

ng serve --port 1337

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

"scripts": {
    "start": "ng serve --port 1337"
}

উত্তরাধিকার:

@ কৌণিক / চূড়ান্ত ফাইনালের জন্য আপডেট করুন:

ভিতরে angular-cli.jsonআপনি ডিফল্টগুলিতে পোর্টটি নির্দিষ্ট করতে পারেন:

"defaults": {
  "serve": {
    "port": 1337
  }
}

লিগ্যাসি-Er:

কৌণিক-cli@1.0.0- বিটা.22-1 তে পরীক্ষা করা হয়েছে

সার্ভার ইন প্রকল্প angular-cliথেকে আসে ember-cli। সার্ভারটি কনফিগার করতে, .ember-cliপ্রকল্পের রুটে একটি ফাইল তৈরি করুন। সেখানে আপনার JSON কনফিগারেশন যুক্ত করুন:

{
   "port": 1337
}

সার্ভারটি পুনরায় চালু করুন এবং এটি সেই বন্দরে পরিবেশন করবে।

এখানে আরও বিকল্প নির্দিষ্ট করা আছে: http://ember-cli.com/#runtime-configration

{
  "skipGit" : true,
  "port" : 999,
  "host" : "0.1.0.1",
  "liveReload" : true,
  "environment" : "mock-development",
  "checkForUpdates" : false
}

দেখে মনে হচ্ছে সিআইএলির সাম্প্রতিক সংস্করণগুলিতে জিনিসগুলি পরিবর্তিত হয়েছে (আমি সংস্করণ 6 ব্যবহার করছি)। আরও বিশদ জন্য এখানে দেখুন
নাথান বন্ধু

73

কৌণিক 2 ক্লিপ 2.2.3.1 এ,

বিভিন্ন বন্দরে একটি নতুন প্রকল্প চালানোর জন্য, একটি উপায় হ'ল পোর্টটি নির্দিষ্ট করা যখন আপনি এনজি সার্ভ কমান্ডটি চালাবেন।

ng serve --port 4201

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

 "scripts": {

    "ng": "ng",
    "start": "ng serve --port 4201",
    ... : ...,
    ... : ....
}

এই পথটি আরও ভাল যেখানে আপনাকে প্রতিবার স্পষ্টভাবে পোর্টটি সংজ্ঞায়িত করতে হবে না।


13

পরিবর্তে এনপিএম স্ক্রিপ্ট ব্যবহার করুন ... আপনার প্যাকেজ.জসন সম্পাদনা করুন এবং স্ক্রিপ্ট বিভাগে কমান্ড যুক্ত করুন।

{
  "name": "my new project",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "ng": "ng",
    "start": "ng serve --host 0.0.0.0 --port 8080",
    "lint": "tslint \"src/**/*.ts\" --project src/tsconfig.json --type-check && tslint \"e2e/**/*.ts\" --project e2e/tsconfig.json --type-check",
    "test": "ng test",
    "pree2e": "webdriver-manager update --standalone false --gecko false",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^2.3.1",
    "@angular/compiler": "^2.3.1",
    "@angular/core": "^2.3.1",
    "@angular/forms": "^2.3.1",
    "@angular/http": "^2.3.1",
    "@angular/platform-browser": "^2.3.1",
    "@angular/platform-browser-dynamic": "^2.3.1",
    "@angular/router": "^3.3.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.0.1",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^2.3.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "angular-cli": "1.0.0-beta.26",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "~4.0.13",
    "ts-node": "1.2.1",
    "tslint": "^4.3.0",
    "typescript": "~2.0.3"
  }
}

তারপরে শুধু মৃত্যুদন্ড কার্যকর করুন npm start


স্থায়ীভাবে এটি করার সঠিক উপায় এটি; সুতরাং আপনাকে প্রতিবার --port-র জন্য কমান্ড-লাইন প্যারামিটার নির্দিষ্ট করতে হবে না। এছাড়াও উত্তরের - হোস্ট পরমটি ভ্যাগ্র্যান্ট (বা যে কোনও রিমোট সিস্টেম) এর মাধ্যমে কৌণিক 4 চালানোর জন্য প্রয়োজন তাই এটি একটি পাথর দিয়ে 2 পাখি হত্যা করে।
স্কট বায়ার্স

8

আপনি এখন ডিফল্টগুলির অধীনে .angular-cli.json এ পোর্টটি নির্দিষ্ট করতে পারেন:

"defaults": {
  "styleExt": "scss",
  "serve": {
    "port": 8080
  },
  "component": {}
}

কৌণিক-ক্লিপ v1.0.6 এ পরীক্ষিত


ধন্যবাদ!!! একই জিনিসটি @ কৌণিক / ক্লিপ: 1.3.0 এর সাথে পরীক্ষা করা হয়েছে ।
টেকনো ক্র্যাকার

3

@ কৌণিক / ক্লিপ v6.2.1 এর জন্য

প্রকল্প কনফিগারেশন ফাইলটি angular.jsonএকাধিক প্রকল্প (ওয়ার্কস্পেস) পরিচালনা করতে সক্ষম যা পৃথকভাবে পরিবেশন করা যায়।

ng config projects.my-test-project.targets.serve.options.port 4201

কোথায় my-test-projectঅংশ প্রকল্পের নাম কি আপনার সাথে সেট ng newশুধু এখানে মত কমান্ড প্রয়োগ করুন:

$ ng new my-test-project
$ cd my-test-project
$ ng config projects.my-test-project.targets.serve.options.port 4201
$ ng serve
** Angular Live Development Server is listening on localhost:4201, open your browser on http://localhost:4201/ **

উত্তরাধিকার:

আমি সাধারণত ng setপ্রকল্প স্তরের জন্য কৌনিক সিএলআই সেটিংস পরিবর্তন করতে কমান্ডটি ব্যবহার করি ।

ng set defaults.serve.port=4201

এটি আপনার .angular.cli.json পরিবর্তন করে এবং পূর্বে উল্লিখিত হিসাবে পোর্ট সেটিংস যুক্ত করে ।

এই পরিবর্তনের পরে আপনি সহজেই ব্যবহার করতে পারেন ng serveএবং এটি প্রতিবার নির্দিষ্ট করার প্রয়োজন ছাড়াই পছন্দসই পোর্টটি ব্যবহার করতে চলেছে।


2
কৌণিক 6.0 এ, আমি 'সেট / get কনফিগার কমান্ডের পক্ষে অবচয় করা হয়েছে' পেয়েছি, সুতরাং এটি আর কাজ করে না।
ভ্যানআলবার্ট

2

এ পর্যন্ত যত কৌণিক CLI: 7.1.4 , দুই সাধারণ উপায় অর্জন করতে চলেছেন ডিফল্ট পোর্ট পরিবর্তন

নং 1

এর মধ্যে angular.json, অংশে --portবিকল্পটি যুক্ত করুন serveএবং ng serveসার্ভারটি শুরু করতে ব্যবহার করুন ।

"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
  "options": {
    "browserTarget": "demos:build",
    "port": 1337
  },
  "configurations": {
    "production": {
      "browserTarget": "demos:build:production"
    }
  }
},

নং 2

এতে package.json, --portবিকল্পটি যুক্ত করুন ng serveএবং npm startসার্ভারটি শুরু করতে ব্যবহার করুন ।

  "scripts": {
    "ng": "ng",
    "start": "ng serve --port 8000",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }, 

1

এলভিনের দেওয়া উত্তরটি সঠিক। তবে আপনার e2e এর জন্য প্রোটেক্টর কনফিগারও আপডেট করতে হবে।

কৌণিক.জসনে,

"serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "port": 9000,
        "browserTarget": "app:build"
      }
    }

E2e / protractor.conf.js এ

exports.config = {
    allScriptsTimeout: 11000,
    specs: [
        './src/**/*.e2e-spec.ts'
    ],
    capabilities: {
        'browserName': 'chrome'
    },
    directConnect: true,
    baseUrl: 'http://localhost:9000/'
}

0

আপনি যখন কৌনিক সিএলআই ডেভ সার্ভার পোর্টটি নির্দিষ্ট করতে নোডজেএস এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করতে চান তখন কোনও পরিস্থিতি হতে পারে। সম্ভাব্য সমাধানগুলির মধ্যে একটি হ'ল সিএলআই ডেভ সার্ভারকে একটি পৃথক নোডজেএস স্ক্রিপ্টে চালিত করা হবে, যা পোর্ট মান (যেমন .env ফাইল থেকে) পড়বে এবং এটি প্যারামিটার ng serveসহ নির্বাহ করে ব্যবহার করবে port:

// run-env.js
const dotenv = require('dotenv');
const child_process = require('child_process');

const config = dotenv.config()
const DEV_SERVER_PORT = process.env.DEV_SERVER_PORT || 4200;

const child = child_process.exec(`ng serve --port=${DEV_SERVER_PORT}`);
child.stdout.on('data', data => console.log(data.toString()));

তারপরে আপনি node run-envক) সরাসরি এই স্ক্রিপ্টটি সরাসরি চালাতে পারেন, খ) প্যাকেজ.জসন আপডেট করে এনপিএমের মাধ্যমে এটি চালান

"scripts": {
  "start": "node run-env"
}

run-env.jsরেপো প্রতি প্রতিশ্রুতিবদ্ধ করা .envউচিত , উচিত নয়। পদ্ধতির আরও বিশদ এই পোস্টে পাওয়া যাবে: .env এর মাধ্যমে কৌণিক সিএলআই বিকাশ সার্ভার পোর্টটি কীভাবে পরিবর্তন করবেন

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