针对浏览器与服务器代码的Typescript编译时条件

时间:2019-05-01 13:55:06

标签: typescript

我正在尝试在Web应用程序的浏览器和服务器部分之间共享代码。像#if这样的条件可能会有用。在Typescript中有类似的东西吗?

例如:

interface Card {
    id: Uuid
    text: string
    created_dt: Date
}

一台服务器Uuid是数据库库中的一种类型。在浏览器上,我需要使用其他内容。

假设代码:

#if compiling_for_browser
type Uuid = somelib.Uuid
#else
type Uuid = database_lib.types.Uuid
#endif

interface Card ...

1 个答案:

答案 0 :(得分:0)

看来这是实现条件编译https://github.com/nippur72/ifdef-loader

的最受欢迎的库

TypeScript团队尚未实现它,并且似乎并没有迅速采取行动,以供我使用(基本上是相同的用例),我将尝试一些webpack条件编译项目,以便于构建轻松实现网络和本地反应