'এনজি বিল্ড'-এর পরে কৌণিক-ক্লিতে ডিস্ট-ফোল্ডার পথ কীভাবে পরিবর্তন করা যায়


112

আমি asp.net কোর সঙ্গে কৌণিক-CLI ব্যবহার করতে চান সেটি এবং আমি জানতে চাই আমি পথ পরিবর্তন করতে পারেন দরকার Dist ফোল্ডারের

উত্তর:


74

আপনি .angular-cli.json এ আউটপুট ফোল্ডারটি আপডেট করতে পারেন:

"outDir": "./location/toYour/dist"

14
উপ-ফোল্ডারে যেমন .location
নাভিদ আহমেদ

1
আউটডায়ারটি কাস্টমাইজ করার বিষয়ে যে কোনও আপডেটের কথা কেউ জানেন? সিএসএস / টিএস / পৃথক পথে
ফিদেব

190

এর আরও বর্তমান উপায় outDirসম্পত্তিটি আপডেট করা .angular-cli.json

ng buildকমান্ড যুক্তি --output-path(অথবা -opসংক্ষেপে) এখনও এছাড়াও সমর্থিত, যদি আপনি একাধিক মান চান যা উপযোগী হতে পারে, আপনি তাদের আপনার সঞ্চয় করতে পারেন package.jsonযেমন npm স্ক্রিপ্ট।

সতর্ক থাকুন:.angular-cli.json সম্পত্তি বলা হয় না output-pathমত @ cwill747 বর্তমানে গ্রহণ উত্তর বলছেন। এটাই ng buildকেবল যুক্তি।

এটি outDirউপরে বর্ণিত হিসাবে বলা হয়, এবং এটি appsসম্পত্তির অধীনে ।

পুনশ্চ

(ডিসেম্বর 2017)

এই উত্তরটি যুক্ত করার 1 বছর পরে , কেউ মূলত একই তথ্যের সাথে একটি নতুন উত্তর যুক্ত করেছে এবং মূল পোস্টার এই উত্তরটির প্রথম লাইনে একই তথ্যযুক্ত 1 বছর-দেরিতে উত্তরের স্বীকৃত উত্তরকে পরিবর্তন করেছে।


3
উপ-ফোল্ডারে যেমন .location
নাভিদ আহমেদ

10
: ডি পিএস তিক্ত
সুনীল কুমার

4
সেরা পিএস আমি এখানে দেখেছি
ফ্রেঙ্কি

তিনি সম্ভবত এখানে তার বন্ধুকে প্রচার করছেন, এটি একটি দুর্নীতি
আলেকজান্ডার বোরোভোই

69

কৌণিক 6+ এর জন্য জিনিসগুলি কিছুটা পরিবর্তন হয়েছে।

এনজি বিল্ড অ্যাপ্লিকেশন ফাইলগুলি কোথায় উত্পাদন করে তা নির্ধারণ করুন

ক্লাইপ সেটআপটি এখন আপনার কর্মক্ষেত্রের মূল ডিরেক্টরিতে কৌণিক.জসন (প্রতিস্থাপিত .angular-cli.json) এ সম্পন্ন হয় । ডিফল্ট কৌণিক.জসনের আউটপুট পাথটি দেখতে (অপ্রাসঙ্গিক লাইনগুলি অপসারণ করা) এর মতো দেখা উচিত:

{
  "projects": {
    "my-app-name": {
    "architect": {
      "options": {
         "outputPath": "dist/my-app-name",

স্পষ্টতই, এটি আপনার অ্যাপ্লিকেশনটি ওয়ার্কস্পেস / ডিস্ট / আমার-অ্যাপ্লিকেশন নামটিতে উত্পন্ন করবে। আপনি যদি অন্য ডিরেক্টরি পছন্দ করেন তবে আউটপুটপথটি সংশোধন করুন।

আপনি কমান্ড লাইন আর্গুমেন্ট (যেমন সিআই কাজের জন্য) ব্যবহার করে আউটপুট পাথ ওভাররাইট করতে পারেন:

ng build -op dist/example
ng build --output-path=dist/example

সা https://github.com/angular/angular-cli/wiki/build

উপ ডিরেক্টরিতে কৌনিক অ্যাপ হোস্টিং

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

এটি একটি উপ ডিরেক্টরিতে কাজ করার জন্য, আপনাকে বেস href সেট করতে হবে।

কৌণিক.জসনে:

{
  "projects": {
    "my-app-name": {
    "architect": {
      "options": {
         "baseHref": "/my-folder/",

CLI:

ng build --base-href=/my-folder/

বিল্ড টাইমটিতে অ্যাপটি কোথায় হোস্ট করা হবে তা আপনি যদি না জানেন তবে আপনি উত্পন্ন সূচক html এ বেস ট্যাগ পরিবর্তন করতে পারেন।

আমরা আমাদের ডকার পাত্রে এটি কীভাবে করি তা এখানে একটি উদাহরণ রয়েছে:

entrypoint.sh

if [ -n "${BASE_PATH}" ]
then
  files=( $(find . -name "index.html") )
  cp -n "${files[0]}" "${files[0]}.org"
  cp "${files[0]}.org" "${files[0]}"
  sed -i "s*<base href=\"/\">*<base href=\"${BASE_PATH}\">*g" "${files[0]}"
fi

46

আপনি সিএলআইও ব্যবহার করতে পারেন, যেমন:

ng build -prod --output-path=production

# or

ng serve --output-path=devroot

1
কৌণিক- cli.json এ আউটপুট ডায়ার ওভাররাইট করা সম্ভব ?
সের্গেই রুদাকভ 21

দেখে মনে হচ্ছে এই বৈশিষ্ট্যটি এই টানার অনুরোধটির সাথে চলেছে: github.com/angular/angular-cli/pull/1109
ড্যানিয়েল প্যাট্রিক

17

আমার পক্ষে একমাত্র যে কাজটি হয়েছিল তা হ'ল outDirউভয় angular-cli.jsonএবং এস এ পরিবর্তন করা src/tsconfig.json

আমি আমার ডিস্ট-ফোল্ডারটি কৌনিক প্রকল্প ফোল্ডারের বাইরে চেয়েছিলাম। আমি যদি src/tsconfig.jsonসেটিংটিও পরিবর্তন না করি , আমি যখনই প্রকল্পটি তৈরি করি তখন কৌনিক সিএলআই সতর্কতা ছুঁড়ে মারত।

এখানে সর্বাধিক গুরুত্বপূর্ণ লাইনগুলি ...

// angular-cli.json
{
  ...
  "apps": [
    {
      "outDir": "../dist",
      ...
    }
  ],
  ...
}

এবং ...

// tsconfig.json
{
  "compilerOptions": {
    "outDir": "../../dist/out-tsc",
    ...
  }
}

2
অসাধারণ! জন্য আপডেট করুন cli 7x, উপরেরটি সম্পন্ন হয়েছে angular.jsonএবং ক্ষেত্রটি outputPath( tsconfig উপরের সমন্বয়টি একই থাকবে)। এইচটি
এডিএসএফ

17

সাবধান: সঠিক উত্তরটি নীচে। এটি আর কাজ করে না

.ember-cliআপনার প্রকল্পে ডাকা একটি ফাইল তৈরি করুন এবং এতে এই বিষয়বস্তু অন্তর্ভুক্ত করুন:

{
   "output-path": "./location/to/your/dist/"
}

9

কৌণিক সিএলআই এখন এটি করতে পরিবেশ ফাইলগুলি ব্যবহার করে।

প্রথমে, একটি environmentsবিভাগ যুক্ত করুনangular-cli.json

কিছুটা এইরকম :

{
  "apps": [{
      "environments": {
        "prod": "environments/environment.prod.ts"
      }
    }]
}

এবং তারপরে এনভায়রনমেন্ট ফাইলের ভিতরে ( environments/environment.prod.tsএই ক্ষেত্রে), এর মতো কিছু যুক্ত করুন:

export const environment = {
  production: true,
  "output-path": "./whatever/dist/"
};

এখন যখন আপনি চালান:

ng build --prod

এটি ./whatever/dist/ফোল্ডারে আউটপুট হবে ।


1
সেরা উত্তরের মতো দেখে মনে হচ্ছে, তবে কৌনিক সিএলআই এখনও আমার ফাইলগুলি ডিস্ট-ফোল্ডারে প্রকাশ করে। সংস্করণ:angular-cli: 1.0.0-beta.21
নিনজাফার্ট

অ্যাঙ্গুলার সিএলআই উইকি থেকে : আউটডির (স্ট্রিং): বিল্ড ফলাফলের জন্য আউটপুট ডিরেক্টরি। ডিফল্ট ডিস্ট /।
hbthanki

@ এইচবিথনকি ক্লাইট স্যুইচ পরিবর্তন করেছেন, পরিবেশ ফাইল নয়
জাসন

9

আমি ব্যবহার করি গিথুব পৃষ্ঠাগুলির জন্য

ng build --prod --base-href "https://<username>.github.io/<RepoName>/" --output-path=docs

এটি হ'ল ডক্স ফোল্ডারে আউটপুট অনুলিপি করে: --output-path=docs


2

আরেকটি বিকল্প হ'ল কৌণিক ক্লিপ ডিস্ট ফোল্ডারে ওয়েবরুট পাথ সেট করা। আপনার প্রোগ্রাম.সগুলিতে ওয়েবহোস্টবিল্ডারটি কনফিগার করার সময় শুধু বলুন

.UseWebRoot(Directory.GetCurrentDirectory() + "\\Frontend\\dist")

বা আপনার দিরের পথে যাই হোক না কেন।

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