2017-10-25 12 views
1

私は2つの重要なファイルと活字体のプロジェクトがあります。このようなapp.ts表情の活字体:コンパイルの.jsで必要となっ定義ファイル内のクラスとインターフェイス

app.ts 
models.d.ts 

最初の数行:

///<reference path="models.d.ts"/> 
'use strict'; 

import * as fs from 'async-file'; 
import { MyClass } from './models'; 

app.jsコンパイルの最初の数行は、次のとおり

///<reference path="models.d.ts"/> 
'use strict'; 
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 
    return new (P || (P = Promise))(function (resolve, reject) { 
     function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 
     function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 
     function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } 
     step((generator = generator.apply(thisArg, _arguments || [])).next()); 
    }); 
}; 
Object.defineProperty(exports, "__esModule", { value: true }); 
const fs = require("async-file"); 
const models_1 = require("./models"); //// ERROR THROWN HERE!!!!!!!! 

ただし、.d.ts宣言ファイルなので、models.jsは生成されません。

見つけることができませんモジュールの./models'

これはのVisual Studio Professionalの2017と私:私はこれを実行し、require./modelsを取得するために呼び出されたときに、私は次の例外を取得しますtsconfig.jsonファイルがありません。しかし、私のプロジェクトのコンパイル設定は次のようになります。

CompilationSettings

私が間違って何をしているのですか?これが私を殺している。

+0

ご質問が分かりません。あなたはどんな行動を期待していましたか? 'module.d.ts'に定義の実装はどこにありますか? –

+0

@ThomasDevries実装はありません。定義ファイル( '.d.ts')は必ずしもそれらを必要としません。 Typescriptを強く型付けするために、たくさんのインターフェースを定義することになっていますが、実行時にはこれらのオブジェクトには型がありません(その型は 'any'です)ので、' require'関数を呼び出すべきではありません。 – Diego

答えて

1

models.d.tsは、出力ディレクトリのその場所に既に存在するmodels.jsが存在することを意味します。

そうでない場合は、おそらく.tsファイルを使用してください。つまり、models.d.tsからmodels.tsに名前を変更します。

関連する問題