TypeScript - 导入文件并编译成一个文件

时间:2017-01-31 14:12:04

标签: javascript typescript

我是TypeScript的新手,我的api命名空间api.ts文件中有一个函数可以连接到我的api:

namespace api
{
    export function connect() : boolean
    {
        return false;
    }
}

这是我的test.ts

的内容
///<reference path="api.ts"/>
api.connect();

TypeScript将其编译为两个文件:api.jstest.js。是否可以将其编译为一个名为test.js的文件,,但将 otherPage.ts 编译为单独的包

注意:

这是我的文件结构:

- test.ts
- api.ts
- otherPage.ts

这是所需的输出:

- test.js (api.ts and test.ts compiled into one file)
- otherPage.js

这是我为自动编译文件而运行的命令:tsc --watch。我更喜欢一个解决方案,我不必更改特定于我想要包含的文件的命令。

我在多个文件中使用api.ts,因此创建一个ts文件对我来说不是一个选项。

临时解决方法:

作为临时解决方法,我在所有文件中都包含api.ts。这对我来说不是一个大问题,因为在我将TypeScript编译成JavaScript之后,我使用Google Closure Compiler编译了javascript文件。

我正在使用Visual Studio Code,因此我可以在tasks.json

中自动执行此操作
{
    "version": "0.1.0",
    "command": "tsc",
    "showOutput": "silent",
    "windows": {
        "command": "tsc.cmd"
    },
    "args": 
    [
        "res/ts/modules/api.ts",
        "${file}",
        "--outFile", "res/js/${fileBasenameNoExtension}.js",
        "--listFiles", "true"
    ],
    "problemMatcher": "$tsc"
}

按ctrl + b执行它。

2 个答案:

答案 0 :(得分:1)

您需要在--outFile中使用tsconfig.json选项:

  "compilerOptions": {
      "outFile": "dist/output.js"
  }

或将其传递给编译器,如下所示:

tsc test.ts --outFile dist/output.js

答案 1 :(得分:0)

你可以用webpack,gulp等捆绑你的资源。 https://www.typescriptlang.org/docs/handbook/integrating-with-build-tools.html

按照上面文档链接中的教程,您可以创建一个目录,例如npm init, 然后在这个目录中运行

npm install -g gulp

然后

npm install gulp gulp-typescript --save-dev

src

创建gulpfile.js目录和gulpfile.js文件,将以下代码粘贴到gulp.task("default", function () { var tsResult = gulp.src("src/*.ts") .pipe(ts({ noImplicitAny: true, out: "output.js" })); return tsResult.js.pipe(gulp.dest("built/local")); });

var gulp = require(“gulp”); var ts = require(“gulp-typescript”);

gulp

将你的ts源放在src中,然后在命令行中运行Terminal命令,如CMD<form action="" method="POST"> Inicio: <input type="text" id="start" name="start"> <input type="submit" value="Sned" > {% csrf_token %} </form> 在Windows上