为什么添加这需要导入停止Node.js输出到控制台

我刚刚开始一个新的节点项目,仍然不太了解如何使用外部模块。

我有app.ts:

import SampleClass = require( "./sampleModule" ); console.log( "Hello Node" ); var checker: SampleClass = new SampleClass(); 

和sampleModule.ts:

 class SampleClass { constructor() { console.log( "Hello from sample"); } } export = SampleClass; 

(我也试过以下,我认为是ES5模块语法)

 export class SampleClass { constructor() { console.log( "Hello from sample"); } } 

和我的tsconfig:

 { "compilerOptions": { "target": "es5", "module": "commonjs", "out": "app.js", "diagnostics": true }, "files": [ "src/app.ts" ] } 

我的app.js是完全空的。 如果我删除导入(和类的实例),那么console.log出现在app.js中,但导入它是完全空的。

我究竟做错了什么?

这一直让我疯狂! 这样简单的事情,但它不会工作!

事实certificate,这个问题与导入语句无关,而是tsconfig.json中的out =“app.js”。

编译模块时–out(或者实际上–outFile)不是一个有效的选项,因为这应该是将整个应用程序编译为一个文件,这不是我们在使用外部模块时所做的。