繁体   English   中英

为什么添加此内容需要导入才能将Node.js停止输出到控制台

[英]Why does adding this require import stop Node.js outputing to the console

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

我有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中,但是导入后它完全为空。

我究竟做错了什么?

这真让我发疯! 如此简单的事情,但却行不通!

原来,问题与import语句无关,而与tsconfig.json中的out =“ app.js”无关。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM