1

タイプスクリプトを始めたばかりです。Visual Studio 内からこの mankala の例を操作してみたいと思いました。最終的には動作するようになりましたが、.ts ファイルから生成されたすべての .js ファイルを default.htm ファイルに含める必要がありました。この例の .htm ファイルには、エントリ ポイントを含むファイルが 1 つだけ含まれています。複数の .js インクルードによって補っている構成に何か問題があると推測しています。誰が私が間違っているのか教えてもらえますか?

詳細は次のとおりです...

元の .htm ファイルは次のようになります。

<!DOCTYPE html>
<html>

<head>
  <title>Mankala</title>
  <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  <script type="text/javascript" src="game.js"></script>
  <link rel="stylesheet" type="text/css" href="play.css"/>  
</head>
<body id="bod" onload="Mankala.testBrowser()">
   <div class="hscore">Human: <span id="humscore">0</span></div>
   <div class="cscore">Computer: <span id="compscore">0</span></div>
</body>
</html>

変更した .htm ファイルは次のようになります。

<!DOCTYPE html>
<html>

<head>
  <title>Mankala</title>
  <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  <script type="text/javascript" src="base.js"></script>
  <script type="text/javascript" src="Driver.js"></script>
  <script type="text/javascript" src="Features.js"></script>
  <script type="text/javascript" src="Game.js"></script>
  <script type="text/javascript" src="geometry.js"></script>
  <script type="text/javascript" src="Position.js"></script>
  <link rel="stylesheet" type="text/css" href="play.css"/>  
</head>
<body id="bod" onload="Mankala.testBrowser()">
   <div class="hscore">Human: <span id="humscore">0</span></div>
   <div class="cscore">Computer: <span id="compscore">0</span></div>
</body>
</html>

プロジェクトを作成するために、デフォルトの (完全に空ではない) typescript プロジェクトを作成し、そのプロジェクトから自動的に作成された app.ts ファイルを削除してから、例の .ts ファイルと同じ名前の 6 つの新しい .ts ファイルを追加しました。次に、VS によって作成された新しい .ts ファイルに、例の .ts ファイルをコピーしました。自動生成された app.css ファイルを例の play.css ファイルに置き換え、自動生成された default.htm ファイルの内容をサンプルの play.htm の内容に置き換えました。これは実行されませんでしたが、追加の .js ファイルを default.htm に追加した後は実行されました。

Web 用の Visual Studio 2012 Express と typescript 0.8.3.1 VS 拡張機能を使用しています。Windows7でChromeブラウザを使用しています。

4

1 に答える 1

2

ここでの違いは、コンパイラが呼び出される方法です。

Mankala サンプルをビルドするときは、README を読んでいると仮定して、次のコマンドを実行しました。

tsc Driver.ts -out game.js

この-outフラグは、コンパイルを 1 つの大きな .js ファイルに連結するようにコンパイラに指示します。ただし、Visual Studio プロジェクトのデフォルトの動作は、並んでビルドすることです。つまり、 base.tscreates base.jsFeatures.tscreatesFeatures.jsなどです。

<TypeScriptOutFile>game.js</TypeScriptOutFile>他の TypeScript 設定と同じようにプロジェクトに要素を追加することで、プロジェクト ファイルを修正でき<PropertyGroup>ます (デフォルトの新しいプロジェクトの 57 行目付近)。両方のコンパイル設定で同じ動作が必要な場合は、 要素Debugと要素の両方に必ず追加するか、新しい無条件 を作成してください。Release PropertyGroupPropertyGroup

于 2013-06-13T18:38:54.027 に答える