打字稿编译保存不在cordova .jsproject - 2015

时间:2015-05-25 01:27:02

标签: cordova typescript visual-studio-2015 visual-studio-cordova

我安装了用于Visual Studio 2015的Typescript 1.5 beta工具,并创建了一个新的Cordova Typescript项目。项目模板包含一些.ts文件,但我无法在保存时编译这些文件。

奇怪的是,如果我使用带有Typescript模板的Html 5创建一个新项目,app.ts文件会在保存时编译。只有在这个.jsproj cordova项目中它忽略了TypeScript编译。为什么呢?

我看到他们使用不同的目标(对于Html 5项目使用Microsoft.Typescript.targets,其中在cordova项目中使用Microsoft.TypeScript.MDA.targets:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\ApacheCordovaTools\vs-mda-targets\Microsoft.TypeScript.MDA.targets" />

对于这两种情况,我都验证了文件存在于各自的位置。我甚至尝试使用非MDA目标;没运气。我还在项目的根目录中包含了一个空的tsconfig.json文件,但仍然没有运气。

如何在保存时编译Typescript文件,就像在其他项目类型中一样?

我还有ENABLED工具&gt;选项&gt;文本编辑器&gt;打字稿&gt;编译不属于项目的文件以及已安装的Web Essentials 2015 ......没有任何作用!

4 个答案:

答案 0 :(得分:1)

我没有尝试,但是看看你是否可以通过在prject文件中将<TypeScriptIncludeComments>false</TypeScriptIncludeComments>的值从false更改为true来进行调试和发布构建。

答案 1 :(得分:1)

这里的问题相同,我创建了项目添加的typedefinition文件,并且在获取js文件方面没有运气。

修改

最后我发现发生了什么你可以查看文件appBundle.js所有类型的脚本文件都被编译并保存在一个文件中我认为它与gulp或Grunt有关。

答案 2 :(得分:1)

同样的问题在这里,我找到了一个有效的解决方案! 在您的jsproject文件中添加/编辑以下行:

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
    <TypeScriptRemoveComments>true</TypeScriptRemoveComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>

注意“TypeScriptCompileOnSaveEnabled”属性的值为“true”。

答案 3 :(得分:1)

您可以轻松设置使用:工具&gt;选项&gt;文本编辑器&gt; TypeScript&gt;项目&gt;一般,并选中“保存时编译”然后确定。你走了。

另一种方式我使用任务运行程序称为“grunt-ts”这样做,我更喜欢使用任务运行器来帮助我编译.ts文件,它还提供详细功能,包括watch这样做。