插件窝 干货文章 了解 JavaScript 中的包、依赖关系和模块

了解 JavaScript 中的包、依赖关系和模块

li 模块 依赖 示例 596    来源:    2024-10-22

我注意到术语“包”、“依赖项”和“模块”存在一些混淆。让我们澄清这些概念,以帮助您在项目中正确使用它们。

包裹

包是捆绑在一起以提供特定功能的文件的集合。在 javascript 生态系统中,包通常通过 npm(节点包管理器)分发。一个包裹通常包含:

  • 一个或多个 javascript 文件
  • 描述包及其依赖项的 package.json 文件
  • 文档和其他相关文件

热门套餐示例:

  • 反应
  • 快递
  • 洛达什

依赖性

依赖项是您的项目正常运行所依赖的包。依赖项列在项目的 package.json 文件中,并使用 npm 或yarn 安装。有两种类型的依赖关系:

立即学习“Java免费学习笔记(深入)”;

  1. 生产依赖项:您的应用程序在生产环境中运行所需的

示例:

  • express(web应用程序框架)
  • 反应(ui 库)
  • mongoose(mongodb 对象建模工具)
  • axios(http 客户端)
  • moment(日期操作库)
  1. 开发依赖:仅在开发过程中使用

示例:

  • jest(测试框架)
  • webpack(模块捆绑器)
  • eslint(linting 实用程序)
  • babel(javascript 编译器)
  • nodemon(具有自动重启功能的开发服务器)
{
  "dependencies": {
    "express": "^4.17.1",
    "react": "^17.0.2",
    "mongoose": "^6.0.12"
  },
  "devDependencies": {
    "jest": "^27.3.1",
    "webpack": "^5.60.0",
    "eslint": "^8.1.0"
  }
}

模块

模块是封装相关功能的独立代码单元。在 javascript 中,模块可以是:

  • commonjs 模块(在 node.js 中使用)
  • es6 模块(现代浏览器和 node.js 支持)

内置 node.js 模块示例:

  • fs(文件系统操作)
  • http(http 服务器和客户端)
  • path(文件路径操作)
  • crypto(加密功能)

您可以在项目中创建的自定义模块示例:

  • userauthentication.js
  • databaseconnector.js
  • utilities.js
  • apiroutes.js

模块有助于组织代码,防止命名冲突,并允许更好的代码重用。

结论

理解这些术语对于有效的 javascript 开发至关重要:

  • 包是分布式的代码包
  • 依赖项是您的项目所依赖的包,无论是用于生产还是开发
  • 模块是项目或包中的代码组织单元