只有在开发者机器上需要npm包的types定义吗?

据我所知,types定义模块(对于npm包)为开发人员提供intellisense,以便在调用库方法时不必猜测参数types。 例如,当我在vscode编辑器中使用第三方库(及其types定义模块)时,这些模块在我的打字稿项目中非常有用。

  1. 这是唯一的目的(即提供intellisense)的types定义模块?
  2. 如果答案是肯定的,那么在构build服务器和生产机器上就不需要它们了。 这是真的?

如果您正在使用普通的旧JavaScript,那么是的,input包仅用于在编辑器中提供智能感知和更好的语言支持。 在许多情况下, 自动型采集应该为您下载和pipe理这些types的文件。 你也可以在你的开发依赖中明确列出这些types的包

如果您正在使用TypeScript或使用新的checkJSfunction来检查JavaScript代码,则必须在构build机器上安装types定义。 只需在dev依赖中列出它们即可。 在生产机器上通常不需要打包