【问题标题】:TypeScript - Compiling to single filesTypeScript - 编译成单个文件
【发布时间】:2020-06-17 11:21:37
【问题描述】:

我目前正在编写一个项目,其中包含一些非常长的源文件,这对于导入非常有用,但对于维护却不是那么好;例如:

/main/core.ts

export type Foo { ... }

export interface Bar { ... }

export class Baz { ... }

/main/data.ts

import { Foo, Bar } from "core";

const x: Foo = ...;
export class BarImpl implements Bar { ... }

目前这些文件编译为:

  • /dist/core.js
  • /dist/core.d.ts
  • /dist/core.ts.map
  • /dist/data.js
  • /dist/data.d.ts
  • /dist/data.ts.map

如前所述,这有点像维护噩梦,随着更多功能的添加,源文件变得越来越长。我想做的是将这些拆分成新目录下的自己的源文件;例如:

/main/core/foo.ts

export type Foo { ... }

/main/core/bar.ts

export interface Bar { ... }

/main/core/baz.ts

export class Baz { ... }

我可以这样做,但它对导入有连锁反应;例如:

/main/data/barimpl.ts

import { Foo } from "core/foo";
import { Bar } from "core/bar";

const x: Foo = ...
export class BarImpl implements Bar { ... }

是否可以:

  1. /main/core.ts 拆分成 /main/core/foo.ts 等,仍然编译成 /dist/core.js 等等?
  2. 维护import { Foo, Bar } from "core" 之类的导入,而不必按文件拆分导入?

【问题讨论】:

标签: typescript


【解决方案1】:

您可以在代码库中添加一个桶。

// main/core/index.ts
export * from './foo';
export * from './bar';
export * from './baz';
// Example consumer
import { Foo, Bar, Baz } from 'core';

【讨论】:

    猜你喜欢
    • 2017-11-06
    • 2012-10-07
    • 2013-03-29
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2012-12-26
    • 2019-05-18
    • 2019-07-17
    相关资源
    最近更新 更多