Visual Studio Express 2012和Typescript输出目录

时间:2013-09-04 08:12:55

标签: visual-studio-2012 typescript

我已成功将typescript插件安装到VS. 我想更改为编译的js文件输出目录。目前,js文件与ts文件位于同一目录中。 我找到了一个解决方案,说我应该安装web essentials,然后我可以修改编译器设置。不幸的是,免费的VS express不允许我安装第三方的东西。没关系,但有没有其他解决方案来改变js文件的输出目录? 在命令行中,它是一个简单的--out标志。

5 个答案:

答案 0 :(得分:6)

我不熟悉Express的限制,但是在没有Web Essentials的Pro版本中你是如何做到这一点的:

使用您喜欢的文本编辑器打开项目中的.csproj文件。寻找看起来像这样的属性组:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    ...
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
    ...
</PropertyGroup>

并且在这两者中添加如下属性:

<TypeScriptOutDir>my/dir</TypeScriptOutDir>

如果打开C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\TypeScript\Microsoft.TypeScript.targets,您可以看到这些属性如何映射到命令行标志以及我如何计算出来。

就像我说我不知道​​Express以及它是否对修改.csproj文件有任何限制所以请告诉我这是否有效。

答案 1 :(得分:4)

不需要编辑.csproj文件,只需转到项目属性并设置“将JavaScript输出重定向到目录”

easy way

答案 2 :(得分:2)

TypeScript编译器有一个标志,用于将输出重定向到目录:

tsc --outDir "Path" app.ts

答案 3 :(得分:1)

最后,我已经解决了这个问题。

解决方案: 我将这些行添加到csproj文件中:

<ItemGroup>
    <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
 </ItemGroup>
 <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot; --outDir myoutputdirectory', ' ')" />
 </Target>

答案 4 :(得分:1)

我在打字稿1.8中遇到了这个问题,在google之后我发现了typescript属性项目页面中的以下输出选项是不兼容的。

  • 如果您选择将Javascript输出合并到文件,那么如果您 想把.js和.map文件放在其他文件中,你必须放在这里 目录,并执行选择重定向Javascript输出 目录
  • 另一方面,如果你想拥有单独的.js文件并移动 将它们添加到特定目录,然后选择重定向Javascript 输出目录并维护取消选择组合Javascript 输出到文件

例如在我的情况下,我希望在特定目录中有一个组合的.js,然后可以设置如图所示:

Here I entered my directory and my combined java-script file in  **Combine JavaScript output into file**