我正在使用TS 1.7,我正在try 将我的项目编译成一个大文件,我将能够包含在我的html文件中.

我的项目 struct 如下所示:

-build // Build directory
-src // source root
--main.ts // my "Main" file that uses the imports my outer files
--subDirectories with more ts files.
-package.json
-tsconfig.json

我的tsconfig文件是:

 {
  "compilerOptions": {
    "module":"amd",
    "target": "ES5",
    "removeComments": true,
    "preserveConstEnums": true,
    "outDir": "./build",
    "outFile":"./build/build.js",
    "sourceRoot": "./src/",
    "rootDir": "./src/",
    "sourceMap": true
  }
}

当我构建我的项目时,我期待构建.js文件是从我的源代码编译的一个大文件.

我的每个TS文件都有点像这样

import {blabla} from "../../bla/blas";

export default class bar implements someThing {
    private variable : string;
}

我做错了什么?

推荐答案

这将在TypeSript 1.8年内实施.在该版本中,当moduleamdsystem时,outFile选项起作用.

此时,该功能在Typescript的开发版本中可用.

$ npm install -g typescript@next

对于以前的版本,即使不是很明显,moduleoutFile选项也不能一起工作.

您可以查看this期了解更多详细信息.


如果要输出版本低于1.8的单个文件,则不能使用tsconfig.json中的module选项.相反,您必须使用module keyword创建名称空间.

您的tsconfig.json文件应该如下所示:

{
  "compilerOptions": {
    "target": "ES5",
    "removeComments": true,
    "preserveConstEnums": true,
    "outFile": "./build/build.js",
    "sourceRoot": "./src/",
    "rootDir": "./src/",
    "sourceMap": true
  }
}

此外,您的TS文件应该如下所示:

module SomeModule {
  export class RaceTrack {
    constructor(private host: Element) {
      host.appendChild(document.createElement("canvas"));
    }
  }
}

您将不得不按名称空间引用导入,而不是使用import语句.

window.addEventListener("load", (ev: Event) => {
  var racetrack = new SomeModule.RaceTrack(document.getElementById("content"));
});

Typescript相关问答推荐

TypScript在对象上强制执行值类型时推断对象文字类型?

在Angular中注入多个BrowserModules,但在我的代码中只有一个

如何根据另一个属性的布尔值来缩小函数属性的返回类型?

为什么从数组中删除一个值会删除打字错误?

接口中函数的条件参数

TypeScrip省略了类型参数,仅当传递另一个前面的类型参数时才采用默认类型

有没有可能产生输出T,它在视觉上省略了T中的一些键?

在类型脚本中创建泛型类型以动态追加属性后缀

在React中定义props 的不同方式.FunctionalComponent

Angular material 无法显示通过API获取的数据

如何缩小函数的返回类型?

为什么发送空字段?

抽象类对派生类强制不同的构造函数签名

错误TS7030:并非所有代码路径都返回值.";由tsfig.json中的";Strong";:False引起

如何通过转换器类继承使用多态将对象从一种类型转换为另一种类型

在TS泛型和记录类型映射方面有问题

可以将JS文件放在tsconfig';s includes/files属性?或者,我如何让tsc判断TS项目中的JS文件?

如何键入';v型';

Typescript泛型-键入对象时保持推理

如何通过nx找到所有受影响的项目?