簡體   English   中英

如何在打字稿中為類使用單獨的文件?

[英]How to use separate files for classes in typescript?

我正在弄清楚如何構建一個打字稿應用程序,其中所有類都保存在單獨的 .ts 文件中。 我正在使用 VS 代碼。 編譯任務似乎工作正常(.ts 文件被轉換為 .js 文件),但是當我將 main.js 文件加載到我的 HTML 頁面時,我收到了這個 javascript 錯誤:

Can't find variable: require

我的打字稿代碼:

// __________ 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函數是 NodeJS 的 一部分 為了使require在瀏覽器中工作,您需要安裝requirejs

如果您想使用內部模塊,請將outFile添加到您的tsconfig.json

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

並在index.html文件中添加<script src="app.js"></script>

編輯: 打字稿手冊:跨文件拆分

要在編碼時相互引用文件,請在每個文件的最頂部使用///<reference path="someOtherScript.ts" />

首先,我們可以使用--out標志使用連接輸出將所有輸入文件編譯為單個 JavaScript 輸出文件: tsc --out sample.js Test.ts

"outFile": "app.js"放入"compilerOptions": {


您可以將所有.ts文件編譯到一個.js文件中。 這就是我一直在使用的。 一個 JS 文件但干凈的 TypeScript 代碼。

在 Visual Studio 中,它是<TypeScriptOutFile>myfile.js</TypeScriptOutFile> 在 Visual Code 中可能相似?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM