1

各 TypeScript ファイルを特定のディレクトリ内の独自の Javascript ファイルにコンパイルする「BeforeBuild」ステップをセットアップする方法はありますか? たとえば、すべての TypeScript ファイルを、ソリューションの '\tsbuild' ディレクトリにある個々の Javascript ファイルにコンパイルしたいと考えています。

現在、コンパイラはすべての TypeScript ファイルを、指定されたディレクトリ内の 1 つの Javascript ファイルに結合しています。これは次のようになります。

  <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; --out @(TypeScriptCompile ->'&quot;$(ProjectDir)tsbuild\buildall.js&quot; &quot;%(fullpath)&quot; ', ' ')" />
  </Target>

次に、それらが 1 つのディレクトリに配置されたら、リリース時にそれらを選択して縮小するようにバンドル構成を構成することが目標です。もう 1 つの目的は、開発中のトラブルシューティングを支援することです。

4

2 に答える 2

3

0.8.2.0 がリリースされると (間もなく!)、ディレクトリを --out に渡して目的の動作を得ることができるようになります。今のところ、これを行うための特にエレガントな方法はありません。

于 2013-01-18T19:08:31.887 に答える
2

TypeScript 0.8.2 のリリースに伴い、私が行ったいくつかのビルド変更があり、現在は希望どおりに動作しています。

コンパイルと保存の詳細については、http: //typescript.codeplex.com/wikipage?title= Compile-on-Save をご覧ください。

まず、*.csproj を変更して、以下を追加しました。

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />

次に、この投稿 https://stackoverflow.com/a/585188/1220302を使用してファイルをコピーするビルド後のステップを作成しました

これをポストビルドに追加する

for /R "$(ProjectDir)modules\" %%f in (*.js, *.map) do copy %%f "$(ProjectDir)build\"

それが誰かを助けることを願っています.. =)

于 2013-01-31T01:48:47.487 に答える