分型安装模块依赖项

Posted

技术标签:

【中文标题】分型安装模块依赖项【英文标题】:typings install module dependencies 【发布时间】:2016-09-16 15:57:00 【问题描述】:

我正在尝试将 tsd 迁移到类型,因为类型似乎是 tsd 的替代品。所以我为

运行以下命令

typings install dt~express --global --save

输出是这样的

typings INFO reference 在安装过程中从“express”(主要)剥离的参考“https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/serve-static/serve-static.d.ts” 类型信息参考 在安装过程中从“express”(主要)剥离参考“https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/express-serve-static-core/express-serve-static-core.d.ts” 表示 └──(无依赖)

然后我运行 tsc 来编译我的 express 项目,我得到了类似的错误

typings/globals/express/index.d.ts(4,34):错误 TS2307:找不到模块“服务静态”。 typings/globals/express/index.d.ts(5,27):错误 TS2307:找不到模块“express-serve-static-core”。

似乎 typings 没有为 express 的依赖项安装类型。我对 tsd 没有这个问题。因为它支持一个选项“--resolve”,它也会为依赖项安装所有类型。

typings 也有这个“解决”功能吗?

谢谢

【问题讨论】:

【参考方案1】:

要从 tsd 迁移到 typings,请按照以下步骤操作:-

1) npm uninstall tsd 或 npm uninstall tsd -g 根据你的使用情况。

2) 现在使用 npm install typings -g 全局安装类型。

3) 您可以使用 typings init --upgrade 将 tsd.json 升级到 typings.json。它将在项目根目录中创建一个新的 typings.json 文件。

4) 从根目录中删除 tsd.json 文件。

5) 使用 typings install 安装 typings.json。

6) 现在所有项目相关的类型都安装在类型文件夹中。

7) 前端应用包含 browser.d.ts 文件以供参考,服务器端应用使用 main.d.ts。

参考:migrate tsd to typings

问候

阿杰

【讨论】:

【参考方案2】:

不幸的是,似乎没有。 Take a look at the FAQ

参考文献

在安装过程中,所有引用(例如 /// )都会被删除。他们因为模棱两可的性质而被剥夺 - 无法确定引用是否应包含在源中还是依赖项。 90% 的情况下,最好脱衣服。 如果参考是项目工作所需的东西,你 始终可以手动将引用安装为依赖项。

您必须自己安装任何需要的参考。

this issue 中有关于正确的--follow-references 标签的讨论。作者已宣布他正在接受 PR 以进行该更改,但据我所知,目前还没有人成功。

【讨论】:

现在,打字给我带来的问题比解决问题还多。另一个工具疲劳。

以上是关于分型安装模块依赖项的主要内容,如果未能解决你的问题,请参考以下文章

测试正在安装的 Python 模块依赖项

yarn 如何找到作为开发依赖项安装的模块

需要依赖节点模块中的另一个依赖项

模块化InnoSetup依赖项安装

如何强制 JBoss 部署使用特定版本的依赖项而不是已安装的模块?

为啥我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?