我安装了用于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 ......没有任何作用!
答案 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这样做。