node.js、yarn、npm到底是什么?
最近在部署环境,在没有开发脚本的情况下,自己根据以往其他项目中的脚本去生搬硬套,发现很难对项目的配置成功。对配置不成功的情况进行判断,发现是对脚本不熟悉,不了解其原理,实现方式也不知道,所以抽时间去了解了一下什么是node.js、yarn、npm。
1、什么是node.js?
Node.js:JavaScript 是 Web 的编程语言,node.js 就是运行在服务端的 JavaScript。
为什么要用Node.js:node.js有非阻塞,事件驱动I/O等特性,从而让高并发在轮询和comet构建的应用中成为可能。
——阻塞:一部分node.js代码需要等到一些非node.js代码执行完成之后才能继续执行。当阻塞执行发生时,Event Loop无法继续执行。阻塞的方法都是同步执行的。
——非阻塞:node.js中所有与I/O相关的方法都提供了异步版本,它们是非阻塞的,可以指定回调函数。非阻塞的方法是异步执行的。
——事件驱动:事件产生者发布一个事件,事件订阅者在收到事件后执行某段代码。
2、node安装
2.1 下载node包:https://nodejs.org/en/
2.2 配置环境:
—右键点击"计算机",然后点击"属性"
—然后点击"高级系统设置"
—选择"系统变量"窗口下面的"Path",双击即可!
—然后在"Path"行,添加nodejs安装路径即可(我的C:\Program Files\nodejs\bin),所以在后面,添加该路径即可。 ps:如果是win10以前的系统,路径直接用分号";"隔开!
3、什么是npm?
Npm:node.js一起安装的包管理工具。
比如:我们要使用模块A,而模块A又依赖模块B,模块B又依赖于模块X和Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。
npm由3个独立的部分组成:网站、注册表(registry)、命令行工具(CLI)
—网站是开发者查找包、设置参数、管理npm使用体验的主要途径
—注册表是一个巨大的数据块,保存每个包的信息
—CLI通过命令行或终端运行,开发者通过CLI与npm打交道。
场景如下:
—允许用户从NPM服务器下载别人编写的三方包
—允许用户从NPM服务器下载并安装别人编写的命令行程到本地使用
—允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
PS:安装完nodejs后,npm也一起安装好了,输入”npm -v”来测试是否成功安装。
npm安装成功:npm -v
npm升级命令:npm install npm -g
npm安装模块:npm install <Module Name>
Ex:安装web框架模块express, npm install express
安装成功后,express包就放在了工程目录下的node_module目录中,因此在代码中只需要require(“express”)引用。
4、什么是Yarn?
Yarn:Yet Another Resource Negotiator,是一个快速、可靠、安全的依赖管理工具,一款新的JavaScript包管理工具。
Yarn工作流:
Yarn使用方法:https://yarn.bootcss.com/docs/usage/
Yarn使用方法-如图:
Nodejs是什么:https://blog.csdn.net/mozuncangtianbaxue/article/details/78393839
Yarn是什么:https://yarn.bootcss.com
Npm是什么 :https://www.npmjs.cn/
node.js、yarn、npm到底是什么?的更多相关文章
- node.js 和 npm/cnpm/nrm 的安装
node.js 和 npm/cnpm/nrm 的安装 安装 node.js.去 官网 下载,下载 LTS 版本的.安装时一路点确定,不要改动任何设置. 在 git-bash 或是 cmd 下,输入 n ...
- 在Linux Mint上安装node.js和npm
1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...
- 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用 工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...
- node.js的npm详解
一.什么是npm呢 npm(Node Package Manager,node包管理器)是node的包管理器,他允许开发人员在node.js应用程序中创建,共享并重用模块.模块就是可以在不同的项目中重 ...
- node.js的npm安装
我不打算引进node.js的npm安装,但发现node.js通过管理一些包npm实现,或给一个简短的npm. 1.npm什么 npm是一个node包管理和分发工具,已经成为了非官方的公布 ...
- Node.js、npm、vue-cli 的安装配置环境变量
我安装node.js是为了学习vue,需要用到npm,所以就把node.js安装了,安装node.js会带有npm的安装. 在安装node.js之前,我们需要了解以下三个内容. npm: Nodejs ...
- Linux(CentOS)安装Node.JS和npm的两种方式(yum安装和源码安装)
yum安装 yum安装是将yum源中的rpm包下载到本地,安装这个rpm包.这个rpm包是别人编译安装好的二进制包.这种方式方便快捷,特别是不用考虑包依赖. 0.了解linux版本 通过 uname ...
- angular2.0学习笔记1.开发环境搭建 (node.js和npm的安装)
开发环境, 1.安装Node.js®和npm, node 6.9.x 和 npm 3.x.x 以上的版本. 更老的版本可能会出现错误,更新的版本则没问题. 控制台窗口中运行命令 node -v 和 n ...
- node.js和npm离线安装
离线安装node.js和npm 1.下载官方安装包并拷贝到离线机器上. 官方下载地址:https://nodejs.org/en/download/ 2.解压文件: tar-xJf node-v8.9 ...
- 【随笔】node.js + npm的安装
需要用到node.js和npm,所以来安装下. 在网上找了找教程,好多都是分开装的,各种麻烦各种事,最后还是在node.js官网里下载解决了.记录一下. 如果安装在当前环境,直接点击install会自 ...
随机推荐
- 21迁移python项目到另一台电脑
在虚拟环境中将第三方库打包到一个TXT文件:1,在项目保存在项目所在目录,文件可以自定义.pip freeze> requirements.txt命令2,将requirements.txt放入另 ...
- Docker(32)- 如何修改 docker 容器的启动参数
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 前言 有时候创建容器时忘了添加 ...
- Linux程序开发中如何判断目录是否为根目录?
问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...
- 认识Redis集群——Redis Cluster
前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...
- CPU相关的学习
我理解的CPU 目前对cpu的了解停留在这个水平 查看CPU型号: cat /proc/cpuinfo |grep model |tail -n 1 model name : Intel(R) Xeo ...
- ceph在centos7下一个不容易发现的改变
在centos6以及以前的osd版本,在启动osd的时候,回去根据ceph.conf的配置文件进行挂载osd,然后进行进程的启动,这个格式是这样的 [osd.0] host = hostname de ...
- oracle的迁移工作
1.创建新数据库用户 1).创建用户和分配权限 sqlplus / as sysdba create user ENFRC_TEST_GZ_TMP identified by ENFRC_TEST_G ...
- centos 6 系统下同步本地时间
1.date显示系统时间 [root@oldboy ~]# dateTue Mar 31 22:45:55 CST 2020 #CST是指是指某中标准时间 非东八区时间 更改时间的三种方法 1.c ...
- vue 常见记录
# vuex在组件中如何获取vuex的state对象中的属性 https://blog.csdn.net/gavincz/article/details/81049461 # vuex全局变量使用 h ...
- 重闯Sqli-labs关卡第二天(5关)
第五关(双注入GET单引号字符型注入-报错时间注入) 盲注盲注,Blind SQL Injection基于布尔SQL盲注基于时间的SQL盲注基于报错的SQL盲注 核心代码:(不会返回数据库中的数据) ...