0

これが既知の問題かどうかはわかりません。Typescript 0.8.1.1 で VS 2012 Web Express を使用しています。--module AMD 句を使用して AMD モジュールを生成しています。

デバッグ モードでは、コンパイラは次のような define 句を生成します。

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__) ...

リリース モードでコンパイルすると、生成されるコードは次のようになります。

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")

つまり、AMD モジュールではなく、CommonJS モジュールのコードを生成するリリース モードです。

それを機能させる方法はありますか???

前もって感謝します

4

1 に答える 1

3

私はあなたがこれをしたと思います:

  <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>
于 2013-01-09T20:34:28.940 に答える