Angular-cli aracının --base-href ve --deploy-url parametreleri arasındaki fark nedir


93

Angular'ın dokümantasyonu, --base-hrefbir sunucunun alt klasöründe konuşlandırılacaksa, üretim için Angular uygulama yapısındaki parametreyi kullanmam gerektiğini bildirir :

Dosyaları bir sunucu alt klasörüne kopyalarsanız, yapı bayrağını ekleyin --base-hrefve <base href>uygun şekilde ayarlayın .

Örneğin, index.htmladresinde sunucuda ise /my/app/index.html, temel href değerini <base href="https://stackoverflow.com/my/app/">bu şekilde ayarlayın.

https://angular.io/guide/deployment

Bununla birlikte, açısal-cli --deploy-urlparametresine sahiptir. Aracın dokümantasyonu bunu şu şekilde açıklar:

Dosyaların dağıtılacağı URL.

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

Kullandığım çözümler gördük --deploy-urlInsted --base-hrefuygulama sunucusunun bir alt konuşlanacak giderken.

Soru

Angular-cli aracının parametreleri --base-hrefve arasındaki fark nedir --deploy-url? Her birini ne zaman kullanmalıyım?

Yanıtlar:



28

Komut dosyalarımı " / test / app1 / script / " klasörüne koymak için şu komutu kullanıyorum :

ng build --prod --base-href /test/app1/ --deploy-url /test/app1/script/

Böylece uygulamama https://example.com/test/app1/ adresinden erişilebilir, ancak JS komut dosyalarım ve CSS'lerim https://example.com/test/app1/script/ dizinindedir.


Bu harika bir cevap, ancak modüllerin tembel yüklenmesini etkileyebileceği konusunda uyarılmalıdır. Örneğin: { path: 'myModule', loadChildren: () => import( './myModule/my.module' ).then( m => m.MyModule ) }
Ken Hadden

11

Yönlendirici için uygulama üssüm olarak / users ve varlıklarım için temel olarak / public kullanmak istersem.

ng build --prod --base-href /users --deploy-url /public 

Ayrıntılı bir örnek için Shekhar Gulati'nin bloguna bakın ...


Bu konuyu bu soruna benzer bir şekilde takip ediyorum. İşte benim komutum: "ng build --watch = true --baseHref = / dist / --outputPath = D: \ application_root \ dist --deployUrl = / dist /". Söylemeye çalıştığım şey, uygulamayı application_root klasöründen çalıştırmak, ancak ön uç için tüm kod "dist" alt klasöründe bulunuyor. Ayrıca index.html'yi dist'den köke kopyalamam gerekir mi?
Mark

2
o --base-href /users/ve değil --base-href /users. (eksik eğik çizgi)
bvdb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.