我有一个npm包(X),它是用Typescript编写的,并且使用安装了打字的类型。
我没有提交由typings生成的typings目录,因为我有一个typings。json,打字工具可以从中重新生成该目录。事实上,我添加了打字作为devDependency和npm脚本“postinstall”来运行“typings install”,因此任何新开发人员都可以在新签出时运行“npm install”后设置所有内容。
问题是,有另一个包使用这个包(例如。Y)。当用户转到“npm安装Y”时,他们下拉X,然后“安装后”脚本在他们的机器上运行。打字是一种开发依赖,所以它不会被下载(我也不希望它是为他们准备的——他们不在X上开发)。他们也没有全局安装打字,所以他们安装的Y错误。
正确的解决方案是什么?我应该打字吗?或者,是否存在另一个npm生命周期脚本,该脚本仅在安装后运行,前提是未执行任何参数的“npm安装”?还是别的什么?
谢谢!
您不需要在运行时键入。它们仅由开发环境中的TypeScript使用。编译
之后。ts
至。js
,不再需要打字了。
所以,不,不要提交typings
。