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

最近因为参与一个微信小程序的开发,开始摸索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. 只不过,npm 默认情况下会在每个项目的本地目录中复制依赖项,因此对于每个项目都会有一个 node_modules 文件夹。而 pnpm 使用了符号链接的方式,它会在一个全局位置存储依赖项,并通过符号链接将它们链接到每个项目中,避免了重复安装相同版本的包。pnpm 支持并发安装依赖项,而 npm 默认是串行安装。

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

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

相关文章

flutter学习(一) 安装以及配置环境

首先需要下载flutter,然后解压 然后配置环境变量,配置到bin目录就行 配置完之后cmd运行flutter doctor 你就会发现,都是错 此时脑海里响起,卧槽,怎么回事,咋办 别着急,我教你。。。 问题 这…

RK3568 RK809电源管理 RTC功能使能 定时唤醒

概述 RK809 是一款高性能 PMIC,RK809 集成 5 个大电流 DCDC、9 个 LDO、2 个 开关SWITCH、 1个 RTC、1个 高性能CODEC、可调上电时序等功能。 系统中各路电源总体分为两种:DCDC 和 LDO。两种电源的总体特性如下(详细资料请自行搜索): DCDC:输入输出压差大时,效率高,但…

python学习笔记 - 标准库常量

Python 中有一些内置的常量,它们是一些特殊的值,通常不会改变。以下是其中一些常见的内置常量及其详细解释以及使用示例: True: 表示布尔值真。给 True 赋值是非法的并会引发 SyntaxError。 x True print(x) # 输出&#xff1a…

内网穿透 nas/树莓派+ipv4服务器 (ipv6)

nas 1.有个服务器 2.有个nas https://github.com/snail007/goproxy/blob/master/README_ZH.md https://github.com/snail007/proxy_admin_free/blob/master/README_ZH.md 2个官网一个是程序,一个是网站 手册 https://snail007.host900.com/goproxy/manual/zh/#/?i…

Unity3D Shader事项法线贴图功能详解

前言 Unity3D它提供了丰富的功能和工具,使开发人员能够轻松创建出色的游戏和应用程序。其中Shader是Unity3D中非常重要的一部分,它可以帮助开发人员实现各种视觉效果,包括法线贴图功能。 对惹,这里有一个游戏开发交流小组&#…

rocketmq+rocket-dashboard win10安装部署+注册为Windows服务

1.1 首先去官网下载zip包 选择自己需要的版本 下载 | RocketMQ 1.2 、下载后,解压到指定目录 1.3、配置RocketMQ环境变量 注意,看对应的版本需要jdk版本 1.4、启动mqnameserver 进入bin目录下,双击启动mqnamesrv.cmd 启动后,…

灰度图像转化为黑白图像、转化图像为一位位深度的图像(仅保留黑色)

/// <summary> /// 灰度图像处理 /// </summary> public class PicGray {/// <summary>/// 获取pic图像对应的黑白图像/// </summary>/// <param name"pic"></param>/// <param name"NumGray">像素灰度值</p…

webpack5基础--02_基本配置( 5 大核心概念)

基本配置 在开始使用 Webpack 之前&#xff0c;我们需要对 Webpack 的配置有一定的认识。 5 大核心概念 entry&#xff08;入口&#xff09; 指示 Webpack 从哪个文件开始打包 output&#xff08;输出&#xff09; 指示 Webpack 打包完的文件输出到哪里去&#xff0c;如何…

Vue项目构建时遇到的问题

Vue项目构建时遇到的问题与上线相关问题 项目构建遇到的问题构建指令关于JavaScript文件无法识别的问题关于element-plus组件库中的模块显示找不到的问题关于路由懒加载时组件路径报错问题关于项目静态资源基准路径的设置关于路由模式的问题 关于nginx服务器的使用 项目构建遇到…

事物管理(黑马学习笔记)

事物回顾 在数据库阶段我们已学习过事务了&#xff0c;我们讲到&#xff1a; 事物是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时…

java实现根据 表索引 批量新增或更新数据信息

目的 通过数据库名、表名实现动态添加活更新数据。添加或更新由唯一索引判断。 实现 思路 查询数据库表的唯一索引-CSDN博客 根据数据库表名动态查询表字段-CSDN博客 达梦数据库根据唯一索引批量新增或更新数据-CSDN博客 将数据转换为sql语句需要的格式 完善代码&#xff0c;实…

maven常用打包命令

1.背景 2.代码 1 mvn常用命令 一般情况下对于一个maven项目&#xff0c;cd切换到当前项目路径下&#xff0c;执行如下示例命令即可对项目进行打包。 mvn clean install mvn -U clean package -Dmaven.test.skiptrue mvn clean package -Dmaven.test.skiptrue -P prod mvn cle…

JavaScript数组操作指南:20个精通操作技巧指南

splice、 slice、 pop 和 shift。数组的排序方法是稳定且非原地算法的吗&#xff1f;要记住所有 JavaScript 数组方法以及它们之间的区别并不容易。它们的名称相似&#xff0c;就好像直接从同义词词典中提取一样。 这个数组速查表列出了 JavaScript 中通常需要的所有数组方法&…

Gson使用Object接收长数字问题

近期发现公司同事在使用Gson对数字进行反序列列化时出现丢失精度的问题&#xff0c;在这里搬运一下&#xff0c;做个记录~ 现象 使用Gson反序列化长Long数字(大于16位),如果用Object类型来接收则会丢失精度。 Gson会将数字反序列化为double类型,double类型本身就容易丢精度。…

小程序基础

小程序基础 1. 认识什么是小程序 什么是微信小程序 微信小程序是一种运行在微信内部的 轻量级 应用程序。 在使用小程序时 不需要下载安装&#xff0c;用户 扫一扫 或 搜一下 即可打开应用。它也体现了 “用完即走” 的理念&#xff0c;用户不用关心安装太多应用的问题。它…

weak的实现原理

iOS 在运行时维护着一个全局的弱引用表&#xff0c;该表是一个 hash 表&#xff0c;hash表的 key 是 对象本身&#xff0c;value 是指向该对象的所有 weak 指针的地址数组。 /**全局的弱引用表&#xff0c;本质是一个hash结构&#xff0c;对象本身作为key, 存储weak修饰的指…

大模型训练经验

1.模型训练好后预测全是起始符号。 解决办法&#xff1a;训练数据的输入输出去掉起始符号。 2.模型训练后学不到有效信息。 加大epoch&#xff0c;我加大到了1000。 3.模型训练后预测没有结束符&#xff0c;暂时未解&#xff0c;另外&#xff0c;发现当训练不足时&#xff…

Metasploit安装及使用教程(非常详细)从零基础入门到精通,看完这一篇就够了。

通过本篇文章&#xff0c;我们将会学习以下内容&#xff1a; 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

如何学习自然语言处理之语言模型

自然语言处理&#xff08;NLP&#xff09;是一种人工智能技术&#xff0c;它使计算机能够理解和处理人类语言。而语言模型是NLP中的一个重要概念&#xff0c;主要是用来估测一些词的序列的概率&#xff0c;即预测p(w1, w2, w3 … wn)&#xff0c;其中一个应用就是句子的生成。 …

JVM运行流程

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; JVM 1. 运行流程2. 运行时数据区2.1 堆&am…