【问题标题】:Vue-CLI, TypeScript and monorepo: how to declare types outside of /src?Vue-CLI、TypeScript 和 monorepo:如何在 /src 之外声明类型?
【发布时间】:2019-04-22 19:55:04
【问题描述】:

如何让 CLI 在特定的 @types 文件夹中查找类型声明?

/src 文件夹中创建的任何*.d.ts 都已加载并且工作正常,但如果我将它们移动到/src 之外的任何位置,我什么也得不到。

我的目标是这样做(作为 monorepo):

/@types
/shared_stuff
/project_1
/project_2

我尝试了compilerOptions.typeRoots,但没有成功。

【问题讨论】:

    标签: typescript vue.js vue-cli monorepo


    【解决方案1】:

    为了将来参考,我设法通过每个项目的 tsconfig.json 中的以下配置来实现:

    "include": [ "../@types/*.d.ts" ]

    但是,我不得不将 shims-vue.d.tsshims-jsx.d.ts 留在每个项目的 /src 中(因为它们导入了每个项目的 node_modules 中包含的内容)。

    【讨论】:

    • 嗨@simon-peyou 我有同样的问题,但老实说我不认为这是最干净的方法。您有其他解决方案吗?包含所有定义的 index.d.ts 的子包也应该可以工作,不是吗?
    • @nkint 我试过没有成功。有无吊装。所以我决定采用这个不太干净的解决方案,等待 vuejs 3 中更好的 TypeScript 集成(希望在明年年底之前)。到那时,monorepo 将更受欢迎,越来越多的工具将适应它们(几个月以来它时不时地发生)。 :)
    • so @simon-peyou ok : ) 我见过这个:github.com/Quramy/lerna-yarn-workspaces-example 使用 reference TS 3 的一个全新功能,但它总是在相对路径上中继,因此它缺少同样的“肮脏”,我也在使用你的解决方案,等待更好的 monorepo 工具啊哈哈
    猜你喜欢
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2021-11-22
    • 2020-12-14
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多