2016-03-21 13 views
0

は次のとおりです。「未定義」からモジュールを見つけることができません

export interface Ship { 
    name: string; 
    port: string; 
    displacement: number; 
} 

output.tsファイル含まれていますimport Ship = require( "./ Ship");このファイルは保存され、エラーフリーで構築されます。次のようにtsconfig.jsonです:PHPページ内およびインデックス見たとき

{ 
    "compileOptions": { 
     "module": "commonjs" 
    }, 
    "files": [ 
     "./Ship.ts" 
    ] 
} 

しかし、:

<html> 
    <head> 
     <script src="node_modules/commonjs-require/commonjs-require.js"></script> 
     <script src="output.js"></script> 
    </head> 
    <body> 
     Hello TypeScript 
    </body> 
</html> 

... commonjs-require.js:15 Uncaught Error: Cannot find module "./Ship" from "undefined"を言ってコンソールにエラーがあります。 .tsファイルと.jsファイルとtsconfig.jsonファイルは、すべて同じディレクトリにあります。どんな助けもありがたい。 transpiles

export function greet(): void { 
    console.log("Hello Ship"); 
} 

...:私はShip.tsの内容を変更してもUPDATE

"use strict"; 
function greet() { 
    console.log("Hello Ship"); 
} 
exports.greet = greet; 

...エラーメッセージcommonjs-require.js:15 Uncaught Error: Cannot find module "./Ship" from "undefined"は残念ながらまだimport Ship = require( "./ Ship")または"./Ship"からimport {Ship}。

UPDATEもoutput.tsの上部にあるが、無駄に///<reference path="Ship.ts" />又は///<reference path="./Ship.ts" />を含むことを試みました。

+1

./を削除しようとしましたか?私は彼らがこの場合暗示されていると信じています。 –

+0

これはSublime Textと何が関係していますか?特に問題がなければ、テキストエディタにタグを付けないでください。 – MattDMo

+0

Alden。私は暗黙の削除の様々な組み合わせを試みた./しかし、それは問題を解決しませんでした。エラーメッセージはまだオンです。 – David

答えて

0

コードを生成しないインターフェイスをエクスポートし、実行時にそのインターフェイスを要求しています。

+0

Stijn。私の更新を見てください。ファイルの内容が生成されたコードであっても、エラーはまだオンです。 – David

+0

'./Ship 'から' import {greet}'を試してください(おそらく拡張子を追加しますか?)'export default function 'のような関数にデフォルトを追加してください。 –

+0

両方の提案オプションを試しました。 -import-オプションにも同じエラーがあります。 2番目の(-default-を追加する)は、蒸散を経ず、_Module '"C:/ xampp/htdocs/typescript/Ship"'にエクスポートされたメンバー 'greet'がありません。 – David