模块解析:NPM 安装来自 Github 的 Typescript 包

Posted

技术标签:

【中文标题】模块解析:NPM 安装来自 Github 的 Typescript 包【英文标题】:Module Resolution: NPM Install Typescript package from Github 【发布时间】:2018-06-25 10:44:17 【问题描述】:

所以我想分叉一个现有的 npm 包,用 typescript 编写,并根据我的特定(非一般有用)需求对其进行修改。

我了解了 npm 也是如何从 github 分支安装的,那里没问题。

但是当我这样做时,模块解析不再起作用(没有进行任何修改)。它与原始包和相同的设置完美配合。

我想这与类型定义有关。我尝试运行npm i @types/<name> 没有运气,其中与原始包的名称相同。该包似乎不包含包本身的定义。

我必须做些什么才能让它工作?看起来太复杂了..

我在编译时遇到的错误:

Typescript Error
Cannot find module '<name>'

【问题讨论】:

【参考方案1】:

您可以尝试直接从/src 目录导入,如下所示:

import Frame from 'react-frame-component/src';

我最近遇到了一个类似的问题,我试图从react-frame-component 安装一个 GitHub 分支。我的node_modules 中的包只显示了一个/src 文件夹,没有像package.json 中的main 字段定义的/lib 文件夹。我认为这是因为该包的 npm run build 脚本仅设置为在 NPM 的 prepublish 挂钩期间调用,因此从未生成 /lib 文件夹。

【讨论】:

以上是关于模块解析:NPM 安装来自 Github 的 Typescript 包的主要内容,如果未能解决你的问题,请参考以下文章

从 Github 安装时自动构建 NPM 模块

来自 github repo 子文件夹的 npm 安装包

来自 GitHub 发布二进制文件的 NPM 安装/依赖项

使用来自 env 变量的令牌从私有 Github 存储库安装 NPM 包

使用 GitHub Actions 从私有 GitHub 存储库安装 npm 模块

nodejs-npm模块管理器