javascript - Typescript:使 tsconfig 发出一个文件夹但不发出另一个文件夹

标签 javascript node.js angular typescript webpack

我正在将现有项目从 js 转换为 typescript。我希望能够在一个文件夹上设置 noEmit = true,但让另一个文件夹设置 noEmit = false

原因是我的客户端( Angular )代码是通过 webpack 设置的,不需要 typescript 来为我生成 javascript。而服务端(Node/express)仍然需要生成成javascript。

我尝试了几种不同的组合,但似乎没有找到正确的方法。

我能够开始工作的唯一解决方案是拥有两个 tsconfig.json 并运行像 tsc -p src\server\tsconfig && tsc -p src 这样的命令\客户端\tsconfig

我意识到这不是一个好的解决方案,但我还没有得到一个可以工作的 tsconfig,也没有一个基本的 tsconfig。

这是文件夹结构..

|-Src
|--/client
|--/server

有没有办法使用单个 tsc 命令实现此目的?或者有没有更好的方法来格式化项目?谢谢!!

最佳答案

根据 this answer,我认为除了像您已经在做的那样拥有多个 tsconfig.json 文件之外没有其他解决方案。和 this comment .

您可以通过使用 tsconfig.json 进行编译和在 package.json 中使用单独的 tsconfig-build.json 来简化此过程建筑,即:

// package.json
{
    "scripts": {
        "build": "tsc -p tsconfig-build.json"
    },
    // ...
}

使用此设置(假设默认 tsconfig.json is in your root ),从命令行运行 tsc 将使用默认 tsconfig.json,但运行 npm run build 将使用 tsconfig-build.json。你也可以有 one tsconfig extend from another ,所以如果你有很多共同的选项,你可以添加一个 tsconfig-base.json 两个配置都从中扩展。

关于javascript - Typescript:使 tsconfig 发出一个文件夹但不发出另一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53856082/

相关文章:

javascript - 在electronicjs中出现: image could not be created from at app. createWindow错误

javascript - AngularJS 过滤器值例程在 null 时不起作用

javascript - 如何使用 Cloud Functions 在 Firebase 中实时同步进行子查询

node.js - 禁用关键错误的快速错误处理

angular - 从 typescript 中提取 $localize 消息在 Angular 9 中不起作用

angular - 单选按钮已被 ngModel 检查覆盖

javascript - 如何更改 infovis spacetree 中的默认方向?

node.js - 铁刨 meteor Jade 的产量及含量

angular - 如何将 Angular 版本从 7 升级到 8?

javascript - 检查 ios phonegap 中是否存在相机