打字稿编译为单个文件

大卫·林基斯(David Limkys):

我正在使用TS 1.7,并且正在尝试将我的项目编译为一个大文件,并将其包含在html文件中。

我的项目结构如下:

-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
  }
}

构建项目时,我希望build.js文件是从我的源代码编译来的一个大文件。但是build.js文件为空,我将所有文件编译为js文件。

我的每个TS文件看起来都像这样

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

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

我究竟做错了什么 ?

toskv:

这将在TypeSript 1.8中实现在那个版本中,模块amdsystemoutFile选项可以工作

目前,该功能在Typescript的开发版本中可用。要安装该运行:

$ npm install -g typescript@next

对于以前的版本,即使不是很明显,模块outFile选项也不能一起使用。

您可以检查问题以获取更多详细信息。


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

您的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"));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

添加打字稿导入可防止编译为单个js文件

如何将具有共享依赖关系的多个打字稿文件编译为单个javascript文件?

Visual Studio不要将打字稿编译为js文件

如何使用Gulp将多个打字稿文件编译为一个javascript文件?

打字稿没有将枚举编译为数字

应将Angular库用打字稿编写或编译为javascript

TypeScript-编译为单个文件

更改单个文件时,Visual Studio 2015编译所有打字稿文件

如何使打字稿仅编译所需的文件?

vscode无法编译打字稿文件

无法启动打字稿编译文件

打字稿不编译目录中的文件

如何将较大项目中的一个打字稿文件编译为其他文件扩展名?

将特定目录中的* .ts文件编译为单个文件

将打字稿路径别名编译为NPM发布的相对路径?

webpack会将Angular2打字稿编译为javascript吗?

为什么将打字稿ReadonlyArrays编译为javascript时是可变的

带有打字稿的 create-react-app 将函数编译为非常奇怪的东西

TypeScript 将导入编译为单个文件

Kivy:编译为单个可执行文件

ClojureScript Leiningen可以编译为单个.js文件吗?

如何将 .ts 文件集编译为单个 .js

将node.js模块编译为单个文件

已编译的单个输出文件打字稿正在尝试在浏览器中加载节点模块

从单个文件导出打字稿类和接口

如何从单个打字稿文件仅生成.d.ts?

将打字稿捆绑输出在单个文件中

从外部模块打字稿项目生成单个定义文件

如何使打字稿传输 .pug 文件到编译目录