目录
指南章节
npm 是一个技术集合
npm 管理项目工具
暂且告一段落
首页 web前端 css教程 NPM的明确定义及其做什么

NPM的明确定义及其做什么

Mar 15, 2025 am 10:07 AM

A Clear Definition of npm and What it Does

现代前端开发工具繁多,初学者常常感到困惑。许多概念看似单一,实则由多个相互关联的部分构成,npm 及其生态系统便是如此。

例如,“互联网”一词看似简单,却包含协议、DNS、服务器、浏览器、网络、请求和响应等众多组件,以及多年迭代积累的其他技术。浏览器本身也是由多个部分组成的复杂系统。

指南章节

  1. 本指南面向何人?
  2. “npm”到底指什么?(当前章节)
  3. 命令行是什么?
  4. Node.js 是什么?
  5. 包管理器是什么?
  6. 如何安装 npm?
  7. 如何安装 npm 包?
  8. npm 命令是什么?
  9. 如何安装现有的 npm 项目?

npm 是一个技术集合

同样,我们通常所说的“npm”(全部小写)以及“前端后端”实际上是许多不同技术和系统的集合,如同一个复杂的鲁布·戈德堡机械装置,用于生成浏览器友好的代码。

前面提到了命令行,它是我们与 npm 生态系统交互的主要方式,下一章将详细介绍。

npm 本身属于“包管理”软件类别,我们也会对此进行讲解。事实上,在本指南中,我可能会经常将 npm 称为包管理器。

最后是 Node.js 本身,它难以简洁地解释,我经常用道格拉斯·亚当斯的话来概括:它是一种几乎——但并非完全——类似于 JavaScript 的编程语言。

npm 管理项目工具

更复杂的是,许多在命令行中输入 npm install 的项目可能预装了各种工具,用于执行项目中的各种任务,例如处理代码(例如,将 Sass 代码转换为 CSS)。许多一站式预配置项目可供直接安装使用(例如 Create React App、Next.js、Nuxt.js 和 SvelteKit)。这固然方便,但也增加了复杂性——意味着我们需要在“前端后端”事物的清单中添加更多名称。

此清单通常包括 Babel(用于编译 JavaScript)、Sass(用于编译 CSS)、Webpack(用于资源捆绑)、Vite(用于开发服务器和其他工具)、PostCSS(用于将一种语法转换为另一种语法)、Autoprefixer(可以作为 PostCSS 插件用于 CSS 供应商前缀)、TypeScript(用于额外的 JavaScript 语法)、ESLint(用于检查代码质量)、Prettier(用于格式化代码)以及 Jest 或 Cypress 等测试库。

所有这些(以及更多)工具都属于一个广泛的类别,它们通常与 npm 安装的项目一起提供——或者可以通过 npm 安装和使用——但实际上并非 npm 本身的一部分。它们只是现代工具的示例,有助于我们更好地处理代码,在这里提及它们只是为了说明区别,以便了解在这个庞大而新兴的世界中界限在哪里。

顺便说一句,如果您不知道上面提到的大多数(或任何)工具是什么,没关系。也许您还没有遇到过它们,或者您曾在项目中安装了它们而不知道它们的名称。无论哪种方式,所有这些都只是为了提供额外的上下文。

暂且告一段落

如果您此时感到有些不知所措,请不要担心。我希望您在阅读本章后能够记住的关键点是,我们认为的“npm”(或者更随意地说,“所有那些命令行、后端的东西”)并不是单一事物,而是一组协同工作的组件,使开发对我们来说更容易。

是的:虽然所有这些复杂性一开始看起来令人生畏,但它确实使事情变得更好。我保证。

虽然前端发展似乎非常迅速,但您并没有被落下。您可能只需要进行一些持续的学习来赶上进度。

← 第 1 章 第 3 章 →

以上是NPM的明确定义及其做什么的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

如何将CSS网格用于粘头和页脚 如何将CSS网格用于粘头和页脚 Apr 02, 2025 pm 06:29 PM

CSS网格是一系列属性的集合,旨在使布局比以往任何时候都容易。像任何东西一样,那里有一点学习曲线,但是网格是

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles