打字稿发生在释放模式JS错误(TypeScript generating wrong JS in R

2019-11-01 08:59发布

我不知道这是一个已知的问题。 我用VS 2012的Web快递正与打字稿0.8.1.1。 我现在用的是AMD --module条款产生AMD模块。

IIN调试模式编译器生成这样的确定子句:

define(["require", "exports", "app/Config", "app/ModelLocator", "app/Presenter", "app/Messenger", "app/LogOnWindow", "app/vm/VmAppHeader", "app/framework/PageLocator", "app/framework/ViewStacks"], function(require, exports, __cfg__, __ml__, __pr__, __ms__, __rc__, __lw__, __ah__, __pl__, __vs__) ...

当我在Release模式编译生成的代码是这样的:

var cfg = require("./app/Config")
var ml = require("./app/ModelLocator")
var pr = require("./app/Presenter")
var ms = require("./app/Messenger")
var rc = require("./app/RouteConfig")
var lw = require("./app/LogOnWindow")
var ah = require("./app/vm/VmAppHeader")
var pl = require("./app/framework/PageLocator")
var vs = require("./app/framework/ViewStacks")

即在Release模式是生成用于CommonJS的模块,而不是AMD模块的代码。

有没有一种方法,使工作???

提前致谢

Answer 1:

我猜你这样做:

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptSourceMap> --sourcemap --module amd</TypeScriptSourceMap>
  </PropertyGroup>

请注意,这只是块被包含在调试配置。 你想要做的,而不是什么是移动--module amd事较低,其中调用编译器的文件中。

  <Target Name="BeforeBuild">
    <Message Text="Compiling TypeScript files" />
    <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
    <Exec Command="tsc$(TypeScriptSourceMap) --module amd @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
  </Target>


文章来源: TypeScript generating wrong JS in Release Mode