2016-01-08 8 views
6

として休耕ファイルserver.js:はnodejs typescriptですアプリで定義されていない定義し、私が書いてきた中で、私はtypescriptですでnodejsアプリに取り組んでいます

import express = require('express'); 
import mongoose = require('mongoose'); 


let app=express(); 
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable 


/** 
* Start app 
*/ 
app.listen(app.get('port'), function() { 
    console.log(`App listening on port ${app.get('port')}!`); 
}); 

私はjsファイルを生成し、それをtraspileするがぶ飲みを使用してい

define(["require", "exports", 'express'], function (require, exports, express) { 
    var app = express(); 
    app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable 
    /** 
    * Start app 
    */ 
    app.listen(app.get('port'), function() { 
     console.log("App listening on port " + app.get('port') + "!"); 
    }); 
}); 

//# sourceMappingURL=../map/server.js.map 

が、私は、このファイルを実行すると、エラーが定義取得していますなどのファイルが定義されていません。

間違いをしている場合は、私に修正してください。

enter image description here

答えて

7

あなたはNode.jsの中で純粋に実行されるアプリケーションを作成する場合は、あなたがする場合、「commonjs」モジュールではなく、AMDモジュールを使用する必要がありますTypeScriptファイルをコンパイルします。

Node.jsとブラウザの両方で動作するアプリケーションを作成する場合は、TypeScriptファイルをコンパイルするときにAMDモジュールではなく「umd」モジュールを使用する必要があります。

したがって、Gulp TypeScriptコンパイラに渡す設定オブジェクトを{ module: "commonjs" }または{ module: "umd" }に変更する必要があります。

1

私はあなたが一度あなたのプロジェクトでrequire("amd-loader");、その後することができますインストールされ、ここでamd-loaderが必要と思います。以下は

npm install amd-loader 
require("amd-loader"); 

リンクです:

https://github.com/ajaxorg/node-amd-loader

+0

定義されていますが、まだ読み込まれていないモジュールがあります( 'loaded'プロパティで示されています)。 – phreed

関連する問題