0

В настоящее время я использую jspm, но эта же проблема относится и к любому другому инструменту связывания времени сборки. Я не могу понять, как заставить их хорошо работать с msdeploy.Как получить пакет jspm/webpack/browserify/requirejs, работающий с msdeploy?

Вот вопрос:

  • Я бегу JSPM, чтобы произвести один или несколько файлов расслоение (по одному для каждой «цепочки», что я хочу).
  • Мое приложение использует System.import (или require или только тег сценария), чтобы начать загрузку.

Если бы я должен был развернуть все в каталог и xcopy оттуда на сервер развертывания, все будет коаксиально. Однако, наша команда devops предпочитает развертывать с использованием msdeploy. Для этого я должен указать это на csproj. Если я это сделаю, то как знает msdeploy для развертывания сгенерированных пакетов?

+0

Вы можете синхронизировать папку с MSDeploy см. Http://sedodream.com/2012/08/20/WebDeployMSDeployHowToSyncAFolder.aspx –

+1

Пила этот вопрос и собиралась опубликовать ответ, а затем я понял - это Джордж! –

ответ

1

Для этого вы должны создать проект MSBuild - один, который подключается к конвейеру MSDeploy. Я предоставил образец (тот, который я сейчас использую для проекта) ниже; Я, скорее всего, выпущу это как пакет Nuget (наряду с некоторыми другими скриптами MSBuild, которые были написаны для использования npm, jspm и gulp).

реквизита файл:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <CopyAllFilesToSingleFolderForPackageDependsOn> 
      FrontendDeploymentFiles; 
      $(CopyAllFilesToSingleFolderForPackageDependsOn); 
     </CopyAllFilesToSingleFolderForPackageDependsOn> 
    </PropertyGroup> 
</Project> 

Мишени файл:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="FrontendDeploymentFiles"> 
     <ItemGroup> 
      <_CustomFiles Include="dist\**\*" /> 
      <_CustomFiles Include="jspm_packages\**\*" /> 

      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)"> 
       <DestinationRelativePath>%(RelativeDir)%(Filename)%(Extension)</DestinationRelativePath> 
      </FilesForPackagingFromProject> 
     </ItemGroup> 
    </Target> 
</Project> 

Это не совсем капля за вас, как вы пакетирования ваши файлы, но вынос здесь что вы можете определить шаблон глобуса для ваших методов копирования. Замените jspm_packages любыми вашими пакетами (поскольку предоставленные мной сценарии предназначены только для публикации в среде разработки), и вы должны быть хорошими.

Надеюсь, что это будет полезно для всех, кто сталкивается с этой проблемой.