在转换后,打字机代码在浏览器中没有显示任何内容

时间:2017-12-06 22:28:03

标签: javascript json typescript transpiler

我正在尝试编写一些非常简单的Typescript代码示例 在Atom编辑器中。 该示例包含一个main.ts和一个非常小的模块 一个小班(myclasses.ts)。我正常导入模块
转换过程没有任何错误和.js文件 正在输出文件夹中正常创建。 我使用CLI进行转码

tsc *.ts --target 'es6' 

我也是从Atom内部做到的,在这两种情况下它都没有完成 任何错误或警告。 当我使用以下命令从CLI运行main.js文件时:

node main.js 

它工作得很好,我得到了每个函数的结果和输出 但是当我打开调用main.js nothhing的html文件时 发生!没有错误控制台中没有任何警告,没有输出...

这是tsconfig.json的内容:

{
  "compilerOptions": {

    "target": "ES2015",
    "module": "umd",
    "outDir": "built",
    "strict": true

  },

  "exclude": [
      "node_modules"
  ]
}

这是main.js(发布后):

(function (factory) {
    if (typeof module === "object" && typeof module.exports === "object") {
        var v = factory(require, exports);
        if (v !== undefined) module.exports = v;
    }
    else if (typeof define === "function" && define.amd) {
        define(["require", "exports", "./myclasses"], factory);
    }
})(function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    const myclasses_1 = require("./myclasses");
    var colors;
    (function (colors) {
        colors[colors["Red"] = 0] = "Red";
        colors[colors["Green"] = 1] = "Green";
        colors[colors["Blue"] = 2] = "Blue";
    })(colors || (colors = {}));
    ;
    let msg = 'Ameme tmena';
    let result = msg.toUpperCase();
    console.log(result);
    let aa = msg.endsWith('a');
    console.log(aa);
    function tryLoop(l) {
        for (let i = 0; i < l; i++) {
            let PowrOf2 = () => Math.pow(i, 2);
            console.log(i, PowrOf2());
        }
    }
    ;
    tryLoop(7);
    let test1;
    test1 = 'Amama Terr';
    let ThEnd = test1.endsWith('r');
    console.log(ThEnd);
    let p1 = new myclasses_1.Point(78, 89);
    p1.calcXY();
    p1.x = 8;
    p1.y = 90;
    p1.calcXY();
    p1.x = -8;
    p1.y = 0;
    p1.calcXY();
    console.log('Hiiiiiii');
    let testing;
    testing = 19;
    testing += (testing > 20) ? -2 : +2;
    console.log(testing);
});

1 个答案:

答案 0 :(得分:0)

您只需更改tsconfig即可创建模块:

{
  "compilerOptions": {

    "target": "ES2015",
    "module": "none",
    "outDir": "built",
    "strict": true

  },

  "exclude": [
      "node_modules"
  ]
}

这应输出干净的JS代码。