最近在部署环境,在没有开发脚本的情况下,自己根据以往其他项目中的脚本去生搬硬套,发现很难对项目的配置成功。对配置不成功的情况进行判断,发现是对脚本不熟悉,不了解其原理,实现方式也不知道,所以抽时间去了解了一下什么是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到底是什么?的更多相关文章

  1. node.js 和 npm/cnpm/nrm 的安装

    node.js 和 npm/cnpm/nrm 的安装 安装 node.js.去 官网 下载,下载 LTS 版本的.安装时一路点确定,不要改动任何设置. 在 git-bash 或是 cmd 下,输入 n ...

  2. 在Linux Mint上安装node.js和npm

    1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...

  3. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  4. node.js的npm详解

    一.什么是npm呢 npm(Node Package Manager,node包管理器)是node的包管理器,他允许开发人员在node.js应用程序中创建,共享并重用模块.模块就是可以在不同的项目中重 ...

  5. node.js的npm安装

    我不打算引进node.js的npm安装,但发现node.js通过管理一些包npm实现,或给一个简短的npm. 1.npm什么        npm是一个node包管理和分发工具,已经成为了非官方的公布 ...

  6. Node.js、npm、vue-cli 的安装配置环境变量

    我安装node.js是为了学习vue,需要用到npm,所以就把node.js安装了,安装node.js会带有npm的安装. 在安装node.js之前,我们需要了解以下三个内容. npm: Nodejs ...

  7. Linux(CentOS)安装Node.JS和npm的两种方式(yum安装和源码安装)

    yum安装 yum安装是将yum源中的rpm包下载到本地,安装这个rpm包.这个rpm包是别人编译安装好的二进制包.这种方式方便快捷,特别是不用考虑包依赖. 0.了解linux版本 通过 uname ...

  8. angular2.0学习笔记1.开发环境搭建 (node.js和npm的安装)

    开发环境, 1.安装Node.js®和npm, node 6.9.x 和 npm 3.x.x 以上的版本. 更老的版本可能会出现错误,更新的版本则没问题. 控制台窗口中运行命令 node -v 和 n ...

  9. node.js和npm离线安装

    离线安装node.js和npm 1.下载官方安装包并拷贝到离线机器上. 官方下载地址:https://nodejs.org/en/download/ 2.解压文件: tar-xJf node-v8.9 ...

  10. 【随笔】node.js + npm的安装

    需要用到node.js和npm,所以来安装下. 在网上找了找教程,好多都是分开装的,各种麻烦各种事,最后还是在node.js官网里下载解决了.记录一下. 如果安装在当前环境,直接点击install会自 ...

随机推荐

  1. 21迁移python项目到另一台电脑

    在虚拟环境中将第三方库打包到一个TXT文件:1,在项目保存在项目所在目录,文件可以自定义.pip freeze> requirements.txt命令2,将requirements.txt放入另 ...

  2. Docker(32)- 如何修改 docker 容器的启动参数

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 前言 有时候创建容器时忘了添加  ...

  3. Linux程序开发中如何判断目录是否为根目录?

    问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...

  4. 认识Redis集群——Redis Cluster

    前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...

  5. CPU相关的学习

    我理解的CPU 目前对cpu的了解停留在这个水平 查看CPU型号: cat /proc/cpuinfo |grep model |tail -n 1 model name : Intel(R) Xeo ...

  6. ceph在centos7下一个不容易发现的改变

    在centos6以及以前的osd版本,在启动osd的时候,回去根据ceph.conf的配置文件进行挂载osd,然后进行进程的启动,这个格式是这样的 [osd.0] host = hostname de ...

  7. oracle的迁移工作

    1.创建新数据库用户 1).创建用户和分配权限 sqlplus / as sysdba create user ENFRC_TEST_GZ_TMP identified by ENFRC_TEST_G ...

  8. centos 6 系统下同步本地时间

    1.date显示系统时间 [root@oldboy ~]# dateTue Mar 31 22:45:55 CST 2020   #CST是指是指某中标准时间 非东八区时间 更改时间的三种方法 1.c ...

  9. vue 常见记录

    # vuex在组件中如何获取vuex的state对象中的属性 https://blog.csdn.net/gavincz/article/details/81049461 # vuex全局变量使用 h ...

  10. 重闯Sqli-labs关卡第二天(5关)

    第五关(双注入GET单引号字符型注入-报错时间注入) 盲注盲注,Blind SQL Injection基于布尔SQL盲注基于时间的SQL盲注基于报错的SQL盲注 核心代码:(不会返回数据库中的数据) ...