npm 包的类型定义是否仅在开发人员机器上需要?
Are type definitions for npm packages required only on developer machine?
据我了解,类型定义模块(针对 npm 包)为开发人员提供了智能感知,因此他们在调用库方法时不必猜测参数类型。例如,当我在 vscode 编辑器中使用第三方库(及其类型定义模块)时,这些模块在我的打字稿项目中非常有用。
- 这是类型定义模块的唯一目的(即提供智能感知)吗?
- 如果答案是肯定的,那么在构建服务器和生产机器上应该不需要它们。这是真的吗?
如果您使用的是普通的旧 JavaScript 那么是的,类型包仅用于在编辑器中提供 IntelliSense 和更好的语言支持。在许多情况下,automatic type acquisition 应该会为您下载和管理这些类型文件。您还可以在开发依赖项中明确列出这些类型包
如果您正在使用 TypeScript 或使用新的 checkJS
功能对您的 JavaScript 代码进行类型检查,则必须在构建机器上安装类型定义。只需将它们列在开发依赖项中即可。您通常不需要在生产机器上使用类型包
据我了解,类型定义模块(针对 npm 包)为开发人员提供了智能感知,因此他们在调用库方法时不必猜测参数类型。例如,当我在 vscode 编辑器中使用第三方库(及其类型定义模块)时,这些模块在我的打字稿项目中非常有用。
- 这是类型定义模块的唯一目的(即提供智能感知)吗?
- 如果答案是肯定的,那么在构建服务器和生产机器上应该不需要它们。这是真的吗?
如果您使用的是普通的旧 JavaScript 那么是的,类型包仅用于在编辑器中提供 IntelliSense 和更好的语言支持。在许多情况下,automatic type acquisition 应该会为您下载和管理这些类型文件。您还可以在开发依赖项中明确列出这些类型包
如果您正在使用 TypeScript 或使用新的 checkJS
功能对您的 JavaScript 代码进行类型检查,则必须在构建机器上安装类型定义。只需将它们列在开发依赖项中即可。您通常不需要在生产机器上使用类型包