Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用“get set”编译TypeScript错误代码;已退出,代码为“1”;_Javascript_Typescript - Fatal编程技术网

Javascript 使用“get set”编译TypeScript错误代码;已退出,代码为“1”;

Javascript 使用“get set”编译TypeScript错误代码;已退出,代码为“1”;,javascript,typescript,Javascript,Typescript,上面的代码可以在打字脚本中找到,但我收到了构建错误 从Visual Studio 2012编译时出现错误“已退出代码1” 是否有人尝试获取、设置TypeScript并成功构建?您需要将ECMAScript v5作为目标,即将-target ES5参数传递给编译器。这需要在项目文件目标配置中设置 我不知道VS是否有任何用于编辑目标配置的内置机制,所以我只能告诉您如何手动操作。只需打开.csproj项目文件,查找TypeScript编译器命令所在的Target节点,并添加-Target ES5参数

上面的代码可以在打字脚本中找到,但我收到了构建错误 从Visual Studio 2012编译时出现错误“已退出代码1”


是否有人尝试获取、设置TypeScript并成功构建?

您需要将ECMAScript v5作为目标,即将
-target ES5
参数传递给编译器。这需要在项目文件目标配置中设置

我不知道VS是否有任何用于编辑目标配置的内置机制,所以我只能告诉您如何手动操作。只需打开
.csproj
项目文件,查找TypeScript编译器命令所在的
Target
节点,并添加
-Target ES5
参数

在我的配置中,它如下所示:

get topLeft()      { return this._topLeft;             }

set topLeft(value) {  this._topLeft = value; Recalc(); }
注入
target
参数仍然非常简单,只需将其放在
tsc
$(TypeScriptSourceMap)
之后即可:


自0.8.2起,已进行了另一项更改。一些常见的TypeScript构建内容已从.csproj移到外部构建文件中。像这样:

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />

您的.csproj仍然可以在TypeScript构建中设置一些参数,方法是将它们作为元素包含在构建中。其中一个元素是ES版本。模板为我创建了两个组,一个用于调试,另一个用于发布:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />

ES3
真的
真的
ES3
假的
假的
为了达到预期效果,只需将ES3更改为ES5即可

要更深入地了解这最终是如何作为调用TypeScript编译器的一部分结束的,请查看Microsoft.TypeScript.targets文件


祝你好运,

不客气:)请注意,建议将解决问题的答案标记为已接受(旁边的小复选标记),这不仅关系到声誉,还可以帮助其他人选择正确的信息(假设有更多答案),对于其他提问者和回答者来说,这是问题已解决的一个指标,当其他人看到问题不会白费力气时,他们会更愿意回答你的问题。我的BeforeBuild目标有一个Exec命令=tsc$(TypeScriptSourceMap)@。。。行而不是“$(程序文件)…你提到的一个。我安装了错误的东西吗?你知道在哪里放置带有那种Exec命令样式的ES5目标吗?我猜你使用的是更新的版本,我的描述与版本0.8.0.0相关,版本0.8.0.0是最初的预览/alpha版本。我现在无法测试它,但它看起来应该可以工作:
tsc--target ES5$(TypeScriptSourceMap).
我将稍后检查并适当更新我的答案。在我将TypeScriptTarget编辑到ES5后,我得到错误:
“tsc.exe”退出,代码为1。
有什么想法吗?
<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>