2016-10-06 8 views
0

JasmineとKarmaを実行するシードプロジェクトを実行しています。 すべてが正しく設定されています。キャスティング時の入力エラー

Webpackは "npm start"を起動します しかし、 "npm test"を実行すると、Webpackは.tsファイルを参照して.spec.tsファイルを読み込みます。 シードプロジェクトから

bundle is now VALID. 
[32m06 10 2016 10:16:42.660:INFO [karma]: 
[39mKarma v0.13.22 server started at http://localhost:9876/ 

[32m06 10 2016 10:16:42.664:INFO [launcher]: 
[39mStarting browser PhantomJS 
[32m06 10 2016 10:16:44.259:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: 
[39mConnected on socket /#YRouUOeCLSlLTu_KAAAA with id 23215732 
PhantomJS 2.1.1 (Windows 7 0.0.0) 

ERROR 
    SyntaxError: Unexpected token '<' 
    at C:/Development/ScratchApp/ScratchApp/src/test.ts:4 

PhantomJS 2.1.1(Windows 7の0.0.0)

エラーは以下のtest.tsでは予期しないトークン '<' ですが、このコードを実行しているとき、私はエラーを取得しますファイル

// this file is only being used by karma 
require('phantomjs-polyfill') 

requireAll((<any>require).context("./", true, /spec.ts$/)); 
function requireAll(r: any): any { 
    r.keys().forEach(r); 
} 

この構文エラーがありますか?あなたは「<」は予期しないトークンを取得し、なぜあなたのtypescriptファイルはrequireAllを開始する行に<any>を持っているので、

at C:/Development/ScratchApp/ScratchApp/src/test.ts:4 

これは、次のとおりです。

+2

をあなたはtypescriptですコードを実行しようとしているように思えます。まず、typescriptコードをjavascriptコードにコンパイルし、それを実行する必要があります。 –

+0

はい、あなたは正しいです。この問題は、ソース管理がマッピングファイル(および定義)を失うために、ここで投稿しました。 WebPackは、ビルドサーバー上で何らかの理由で間違ったソースを探していました – Rory

答えて

1

この質問の重要な部分はこれです。 JavaScriptは型名を見つけることを期待していないため、コンパイル時にすべてが消去されます。

コンパイルされたファイルを使用して、あなたのランタイムコードを更新します。

C:/Development/ScratchApp/ScratchApp/src/test.js