3

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

4

5 回答 5

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文件有任何限制,所以让我知道这是否有效。

于 2013-09-04T15:07:25.960 回答
4

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

简单的方法

于 2015-06-23T11:08:21.990 回答
2

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

tsc --outDir "Path" app.ts
于 2013-09-04T09:51:33.640 回答
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>
于 2013-09-05T07:43:42.093 回答
1

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

  • 如果你选择将Javascript输出合并到文件中,那么如果你想把.js和.map文件放在其他文件中,你必须把目录放在这里,不要选择重定向Javascript输出目录
  • 另一方面,如果您想拥有单独的 .js 文件并将它们移动到特定目录,则选择 Redirect Javascript output directory并保持取消选中的Combine Javascript output into file

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

在这里,我在 **Combine JavaScript output into file** 中输入了我的目录和组合的 java-script 文件

于 2016-05-18T18:16:26.820 回答