2016-04-09 82 views
1

'dan web sitesinde yayınlanan uglified dosyaları dahil etme ASP.NET 4.6 (5.0/Core değil) kullanıyorum ve ilgilendiğim JS kütüphanelerinin bazıları yalnızca NPM aracılığıyla kullanılabilir olduğu için deniyorum. MS'in önerdiği gibi yeni nesil NPM ve gulp tabanlı boru hatları. Çoğunlukla istediğim şekilde çalışıp istediğim her şeyi elde etmeyi başardım, bununla ilgili olarak, sonuçta elde edilen minimize edilmiş dosyaları web sitesinde yayınlamaktan nasıl kaynaklandığını anlayamadım. projesi. (TypeScript tam olarak bunu yapabilmeyi başarır, ama nasıl yapıldığına dair hiçbir zaman tam olarak net olmadı.) Tabii ki, her zaman onları kaynağa ve projeye dahil etmeyi reddedebilirim - ama bunu daha önce yaptım. TypeScript'in ilk günlerini gerçekten çok beğenmedim ve bunu yapmak için "doğru" bir yol gibi görünmüyor.Visual Studio

Herhangi bir öneriniz var mı? Yapılandırılmış bir hedef var mı, yani, belirtilen bir klasörden (ASP.NET Core'un kullandığı lib klasörü gibi) her şeyi otomatik olarak yakalayabilen ve bunları yayınlayabilecek bir şey var mı?

+0

Küçültülmüş dosyaları kaynağa işaretleme - bunun yerine derleme komut dosyasına yeni bir derleme adımı ekleyin. Sınıflarınızı, görünümlerinizi derleyin, JS'nizi ve CSS'nizi küçültün, derleme kodunuzda TypeScript'ten JS'ye, LESS'ten CSS'e kadar derlemelisiniz. – mason

+0

@mason - Katılıyorum, yapmak istediğim buydu. Sorun şu ki, bunu yapamıyorum ve hala yerleşik MS/msbuild web sitesi yayınlama tesislerini kullanıyorum (MS evreninde gerekli olan tür). Ya da en azından, nasıl yapılacağını anlayamıyorum. –

cevap

1

Burada nasıl yapılacağının iyi bir açıklaması var: http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/deploying-extra-files.

Kısa versiyon size .pubxml dosya (lar) bu türden olmasıdır:

<Target Name="CustomCollectFiles"> 
    <ItemGroup> 
     <_CustomFiles Include="..\ExtraFiles\**\*" /> 
     <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> 
     <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> 
     </FilesForPackagingFromProject> 
    </ItemGroup> 
    </Target> 
    <PropertyGroup> 
    <CopyAllFilesToSingleFolderForPackageDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForPackageDependsOn> 

    <CopyAllFilesToSingleFolderForMsdeployDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForMsdeployDependsOn> 
    </PropertyGroup> 

Sadece doğru Google anahtar kelimeleri (sen eğer, "Msbuild inşa hedefler diğer dosyaları dahil yayımlamak" bulmak için gerekli ilgilenmek için).