程序媛的mac修炼手册-- Node.js入门篇

news2024/12/22 14:42:42

最近因为参与一个微信小程序的开发,开始摸索JavaScript。期间,需要基于Node.js安装微信开发工具的依赖项,所以又顺带学习了Node.js的包管理工具npm(Node Package Manager)。不过,之前看到国外的全栈大佬​​​​​​​说,npm过时了,现在更全能的替代工具是pnpm。

下面就跟各位分享一下用Mac入门Node.js的经验。

目录

一、Node.js简介

二、Node.js下载

三、Node.js安装

四、Node.js环境配置

五、Node.js安装验证

六、退出Node.js环境

七、释义


一、Node.js简介

  1. Javascript是事件驱动型编程语言,Node.js是一个运行 JavaScript 代码的开发平台,基于Google的V8引擎,是后端程序员最好的开发环境。

  2. 用户在安装Node.js 时,会同时安装npm(Node Package Manager),这是 Node.js 的包管理器,用于安装、管理和发布 JavaScript 包。

  3. 至于老外流行的pnpm,和npm一样都是用来管理 JavaScript 包的工具,可以用来安装、更新、删除和管理项目依赖项。此外,JavaScript 的的包管理器还有Yarn。

  4. 总之一句话,pnpm安装在磁盘上的占用空间更小,安装速度更快。​​​​​​​

二、Node.js下载

打开Node.js官网,如下所示:

Node.js — Download

对于任何操作系统,Node.js都准备了两个版本,一个是长期维护版(LTS版),一个是最新版(Current版)。

听劝,果断下载长期维护版!

 三、Node.js安装

下载Node.js的安装包pkg后,安装常规方法安装。

注意,安装过程一直点“continue”,直到最后一页, 如下图所示。
务必确保安装路径为 /usr/local/bin
一般情况下,Node和npm会同时安装。

四、Node.js环境配置

Node.js安装成功后,需要在Mac「终端(terminal)」中配置全局环境变量。

1、打开「终端(terminal)」,输入以下命令行,确保切换到根目录

cd ~

2、执行以下命令,配置zsh shell下的环境变量。如果是在bash shell下安装,则执行对应的命令行 vim  .bash_profile

vim .zshrc

​ 3、命令行执行过程中,按 i 进入编辑模式,在最后一行加上PATH=$PATH:/usr/local/bin

​ 4、按 esc 退出编辑模式,并输入:wq保存并退出

 5、执行以下命令行,使得文件立即生效。如果是在bash shell下,则执行source  .bash_profile

source .zshrc

五、Node.js安装验证

打开「终端(terminal)」,依次输入以下命令

npm -v
node -v
node

 输出以下内容,即表示Node.js安装成功

六、退出Node.js环境

按两次control+c或一次control+d退出node环境

七、释义

  1. Javascript是事件驱动型编程语言,Node.js是一个运行 JavaScript 代码的开发平台,基于Google的V8引擎,是后端程序员最好的开发环境。它允许开发者使用 JavaScript 编写服务器端代码,构建网络应用程序。

  2. Node.js 提供了许多内置模块,例如文件系统、HTTP、HTTPS 等,使开发者能够轻松地构建各种类型的应用程序。Node采用了一个称为“事件循环(event loop)"、非阻塞式I/O的架构,编写出可扩展性高的服务器,让Javascript运行于服务器端。Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。

  3. 用户在安装Node.js 时,会同时安装npm(Node Package Manager),这是 Node.js 的包管理器,用于安装、管理和发布 JavaScript 包。

  4. 开发者可通过 npm 在项目中安装和管理依赖项,这些依赖项可以是库、框架、工具等。npm 还允许开发者发布自己的 JavaScript 包,供他人使用。在开发中,如果要使用某个 SDK (Software Development Kit,软件开发工具包)来访问特定服务、平台或功能,通常这个 SDK 会依赖于其他的库或模块。这些依赖项可能包括其他 SDK、工具库、辅助函数等,它们需要在开发项目中进行安装,以便 SDK 能够正常运行。

  5. 至于老外流行的pnpm,和npm一样都是用来管理 JavaScript 包的工具,可以用来安装、更新、删除和管理项目依赖项。此外,JavaScript 的的包管理器还有Yarn。

  6. 其他编程语言也有类似的包管理器,比如Python的pip,PHP的composer、Java的maven。我们可以把包管理器看成是windows的软件管理中心或手机的应用中心,只是它们用的是可视化界面,包管理器用的是命令行Command Line。

  7. 只不过,npm 默认情况下会在每个项目的本地目录中复制依赖项,因此对于每个项目都会有一个 node_modules 文件夹。而 pnpm 使用了符号链接的方式,它会在一个全局位置存储依赖项,并通过符号链接将它们链接到每个项目中,避免了重复安装相同版本的包。pnpm 支持并发安装依赖项,而 npm 默认是串行安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1487446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron+vue3全家桶+vite项目搭建【29】封装窗口工具类【3】控制窗口定向移动

文章目录 引入实现效果思路声明通用的定位对象主进程模块渲染进程测试效果 引入 demo项目地址 窗口工具类系列文章: 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组,维护窗口关系 很多时候,我们想直接让某个窗口移动到边角&#xff0c…

MySQL之索引详解

华子目录 索引概述优缺点 索引的原理索引的设计原则索引结构B-tree(多路平衡查找树)BtreeHash 为什么InnoDB存储引擎选择Btree?索引分类聚集索引选取规则 单列索引和多列索引前缀索引创建索引1.创建表时创建索引2.在已经存在的表上创建索引3.…

funasr VAD语音端点检测;sherpa VAD+STT识别

1、VAD 语音端点检测(funasr) Voice Activity Detection 语音活性检测(VAD)也被称为语音端点检测,基本原理是判断一个区间内的音频(区间被称为一个“语音帧”),是有效语音,还是无效语音。通过连续的检测多帧,就能判断出语音的“开头”(从无效到有效)和“结尾”(从…

【springboot】乡镇卫生院、二甲医院云HIS运维平台源码

目录 云HIS运营管理 ​编辑电子病历主模块:包括门诊电子病历、住院电子病历等子模块 (1)门诊电子病历功能简介 (2)住院电子病历功能简介 ▶患者列表主模块:包括患者信息子模块 (1&#xf…

熔断降级 spring事务

如果有事务处理,会先把事务的自动提交给关闭

《一》在Vue中搭建Three.js环境(超详细、保姆级),创建场景、相机、渲染器

目录 Three.js简介创建vue项目引入Three.js实际操作环节文件目录创建初始化场景、相机 Three.js简介 Three.js 是一款基于 WebGL的 JavaScript 3D 库,它封装了 WebGL API,为开发者提供了简单易用的 API 来在 Web 浏览器中展示 3D 图形。Three.js 提供了…

青岛琛蓝健康集团正式发布多项科研合作项目

青岛琛蓝健康集团正式发布多项科研合作项目 科技创新是推动琛蓝健康产业集团持续发展的原动力。 一直以来,琛蓝健康集团高度重视科研合作,与众多专家团队和科研机构达成战略合作关系,深入实施产学研合作模式,成立多个协同创新中心…

经典思路!人参叶际微生物如何发8分文章?

中国中医科学院中药研究所在《Environmental Microbiome》期刊上(IF7.9)发表了关于叶际真菌微生态网络的文章,该研究通过对ITS测序结果和环境因子测定结果以及皂苷含量测定结果进行生信分析,提出了维持微生态网络的稳定性策略和影响皂苷含量的因素。 期刊…

【推荐算法系列十七】:GBDT+LR 排序算法

排序算法经典中的经典 参考 推荐系统之GBDTLR 极客时间 手把手带你搭建推荐系统 课程 逻辑回归(LR)模型 逻辑回归(LR,Logistic Regression)是一种传统机器学习分类模型,也是一种比较重要的非线性回归模型&#xff…

2024年短剧项目怎么做?教你搭建自己的短剧及cps分销平台app小程序

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、短剧系统 二、短剧cps分销平台 三、海外短剧系统 总结 前言 短剧系统分为三种: 短剧系统、短剧cps分销平台、海外短剧系统。今天简单介绍…

【C语言】剖析qsort函数的实现原理

主页:17_Kevin-CSDN博客 专栏:《C语言》 本文将从回调函数,qsort函数的应用,qsort函数的实现原理三个方面进行讲解,请自行跳转至相对位置进行阅读~ 目录 回调函数 qsort函数的应用 qsort函数实现原理 回调函数 什…

【推荐】免费AI论文写作神器-「智元兔 AI」

还在为写论文焦虑?免费AI写作大师来帮你三步搞定! 智元兔AI是ChatGPT的人工智能助手,并且具有出色的论文写作能力。它能够根据用户提供的题目或要求,自动生成高质量的论文。 不论是论文、毕业论文、散文、科普文章、新闻稿件&…

远程控制从未如此简单

在这个科技日新月异的时代,我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机,你是否也有遇到过需要远程操作自己某一台手机的场景呢?今天,我要向大家推荐一款神奇的手机远程操作神器,让你可以随时随地…

网络学习:MPLS技术基础知识

目录 一、MPLS技术产生背景 二、MPLS网络组成(基本概念) 1、MPLS技术简介:Multiprotocol Lable Switching,多协议标签交换技术 2、MPLS网络组成 三、MPLS的优势 四、MPLS的实际应用 一、MPLS技术产生背景 1、IP采用最长掩码…

故障诊断 | 一文解决,XGBoost极限梯度提升树的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,XGBoost极限梯度提升树的故障诊断(Matlab) 模型描述 XGBoost通过集成多个决策树来建立一个强大的预测模型。它采用了一种特殊的梯度提升技术,称为极限梯度提升(Extreme Gradient Boosting),以提高模型的性能和鲁棒性。 极限梯度…

亚马逊Revie的作用有哪些?

Review在亚马逊的重要性不言而喻,好的Review可以给潜在的顾客以购买的信心,很多的卖家都会通过测评,来增加商品的Review来美化商品,进而带来更多的曝光量和流量,产生更多的订单,所以,对于任何一…

【anget应用入门】coze国际版agent应用discord快速部署及使用

1、coze agent配置 1.1 coze介绍 概述 Coze 是新一代一站式AI Bot开发平台🚀。无论你是否有编程基础,都可以在 Coze 平台上快速搭建基于 AI 模型的各类问答 Bot,从解决简单的问答到处理复杂逻辑的对话。你可以将搭建的 Bot 发布到各类社交…

Vue3:使用 Composition API 不需要 Pinia

在 Vue.js 开发的动态环境中,在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理,但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法,说明开发人员…

2024高频前端面试题 JavaScript 和 ES6 篇

HTML和CSS篇: 2024高频前端面试题 HTML 和 CSS 篇-CSDN博客 一. JavaScript篇 1. 数据类型有哪些 1) 基本数据类型 数值(Number)、字符串(String)、布尔值(Boolean)、Undefined、Null、Symbol、BigInt 2) 引用数据类型 对象(Object)、数组(Array)、函数(Funct…

给孩子买台灯注意什么?多款热门护眼台灯测评体验总结

现在的青少年很多都是存在视力问题的,而大多数的原因都是因为长时间的用眼和不合适的光源环境导致的,因此家长们为了娃的眼睛健康,基本都会入手护眼台灯。不过市面上台灯种类繁杂,其中还包括了不专业的产品,这类台灯往…