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

    //获取上传token Vendor('sdk.autoload'); $accessKey='********'; $secretKey='*******'; $auth=new \Qiniu\Au ...

  2. 简单STL

    string: string s="5418340"; sort(s.begin(),s.end()); cout<<s; /**begin是头迭代器,end是尾迭代器 ...

  3. rgw的rgw_thread_pool_size配置调整

    前言 在比对rgw的不同前端的区别的时候,官方说civetweb是通过线程池来控制连接的,beast是后面加入了流控相关的,这块一直也没有调整过相关的参数,然后通过ab压测了一下,还是有很明显的区别的 ...

  4. JetCache 源码分析

    一.简介 JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用. JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL.两级缓存.分布 ...

  5. 用Python写一个病毒

    WARNING 本文仅供学习和测试,请勿用于非法用途. 前言 花了挺长时间去开发的,中间有很多包是抄的,比如DDL注入.关于opencv等等,主要其实做了一些拼接.打包.部署. 写这篇博客并不真的想去 ...

  6. SpringIOC的高级特性

    目录 1. lazy-Init延迟加载 1.1 XML方式开启延迟加载: 1.2 注解开启延迟加载: 1.3全局配置--default-lazy-init="": 应用场景: 2. ...

  7. 在Camtasia中对录制视频进行转换编辑

    在我们的日常学习生活中,课件是我们经常需要接触的东西,一份精美的课件会让我们的学习生活看起来不那么的枯燥,学习也就不会索然无味.当精美的课件加上老师的谆谆教导,学习便会变成一件非常简单的事情.将课件制 ...

  8. FL Studio中echo的延迟作用

    今天来一起研究FL Studio的Echo Delay的作用,Echo Delay可以从MIDI输入创建回声,并允许我们通过音量,声像,切除和共振,音高和时间来操纵延迟. 图1:Echo Dealy ...

  9. symfony框架中使用service

    在config文件里面的service.yml写入自己service 1 chat.group_list: //service的名字 2 class: Chat\Service\GroupListSe ...

  10. C语言讲义——字符串库函数

    字符串库函数<string.h> 求字符串长度(不含结束符'\0'****) strlen(str) 字符串赋值(可能造成数组越界) strcpy(str," 水浒传 " ...