javascript - Typescript 应用程序导入和导出的基本问题

标签 javascript typescript

我有一个非常基本的 Typescript 应用程序,Chrome 在打开我的 index.html 页面时提示以下内容:

exports is not defined

import is not defined

app.ts

import Timer from "./models/timer";

class Startup {
    public static main() {
        // Initialize timer
        var timer = new Timer(new Date("25/12/2015 00:00:00"));
        // Start timer
        timer.start();
    }
}

Startup.main();

models/timer.ts

export default class Timer {
    target: Date;
    days: number;
    hours: number;
    minutes: number;
    seconds: number;
    constructor(target: Date) {
        this.target = target;
    }

    start() {
        var now = Date.now;
        alert(now);
    }
}

我正在使用 Visual Studio 代码并具有以下内容:

tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true
    }
}

tasks.json

{
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "args": ["-p", "."],
    "showOutput": "silent",
    "problemMatcher": "$tsc"
}

最佳答案

从你的错误中:

exports is not defined

import is not defined

您需要一个模块加载器!浏览器本身还不能理解模块。推荐使用 webpack (其他选项包括 browserify 等)。

更多

快速入门:https://basarat.gitbook.io/typescript/content/docs/quick/browser.html

关于javascript - Typescript 应用程序导入和导出的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449276/

相关文章:

javascript - 在jQuery的 `continue;`方法中实现 `each();`关键字

javascript - 理解 typescript 中的构造函数接口(interface)

angular - 使用 Ionic2 typescript 的传单

typescript - 如何安装旧版本的 Typescript?

javascript - 如何在 Angular 6 中动态添加输入字段

javascript - 如何将值从一个表单组实时传递到另一个表单组作为响应式(Reactive)表单中的双向数据绑定(bind)?

javascript - AngularJS 指令运行时绑定(bind)

javascript - 检查对象及其方法是否都已定义的单行代码

javascript - 使用 jQuery 更新 DOM 元素

JavaScript 正则表达式 - 检查数字匹配的数量