typescript - 如何在 typescript 中为类使用单独的文件?

标签 typescript commonjs

我正在弄清楚如何构建一个 typescript 应用程序,其中所有类都保存在单独的 .ts 文件中。我正在使用 VS 代码。编译任务似乎正常工作(.ts 文件被转译为 .js 文件),但是当我将 main.js 文件加载到我的 HTML 页面时,我得到了这个 javascript 错误:

Can't find variable: require

我的 typescript 代码:

// __________ car.ts __________ 
class Car {
    color: string;

    constructor(color: string) {
        this.color = color;
        console.log("created a new " + color + " car");
    }
}
export = Car;

// __________ main.ts __________ 
import Car = require('car');

class Startup {
    public static main(): number {
        console.log('Hello World');
        var c = new Car("red");
        return 0;
    }
}

我的 tsconfig 文件:

{
    "compilerOptions": {
        "module": "commonjs",
        "sourceMap":  true
    },
     "files": [
        "car.ts",
        "main.ts"
    ]
}

我在这里缺少哪一步?为什么 javascript 需要一个叫做“require”的东西?还是有另一种方法可以在单独的文件中处理类?

最佳答案

require函数是一个 part的节点。为了制作require在浏览器中工作,您需要安装 requirejs .

如果你想使用内部模块,添加outFile给你的tsconfig.json :

{
    "compilerOptions": {
        "module": "commonjs",
        "sourceMap":  true,
        "outFile": "app.js"
    },
     "files": [
        "car.ts",
        "main.ts"
    ]
}

并添加<script src="app.js"></script>在你的index.html文件。

关于typescript - 如何在 typescript 中为类使用单独的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33873081/

相关文章:

typescript - tsc 为本地文件抛出 `TS2307: Cannot find module`

javascript - TypeScript $(...).tooltip 不是函数

html - Angular2设置输入字段的最小值和最大值

angular - 如何将一种类型的 Observable 转换为另一种类型的 Observable

javascript - 使用meteor在if语句中导出

javascript - 是否可以使 JavaScript 模块与 NodeJS 和 RequireJS 兼容?

html - typescript 中 <svg> 元素的类型是什么

javascript - 在js中添加改变颜色

javascript - module.exports 与 Node.js 中的导出

node.js - 评估实时进程