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

    1.WebApi新建与部署 1.1 新建Core WebApi工程 1.2 部署 1.2.1 IIS部署 首先以文件方式发布应用程序,然后下载依赖.net core运行时及host安装包 在iis中看 ...

  2. Collection迭代器Iterator的使用

    package com.cx.Collecion; import java.util.ArrayList; import java.util.Collection; import java.util. ...

  3. C# 泛型集合的自定义类型排序

    一.泛型集合List<T>排序 经sort方法之后,采用了升序的方式进行排列的. List<int> list = new List<int>() { 2, 4, ...

  4. ECMAScript6标准-简介

    Introduction This Ecma Standard defines the ECMAScript 2015 Language. It is the sixth edition of the ...

  5. IDEA安装leetcode editor插件

    leetcode > https://leetcode-cn.com/ 本地idea刷题可以直接同步提交,测试等相关操作 需要安装leetcode editor插件 1.idea setting ...

  6. tcp输入数据 慢速路径处理 tcp_data_queue_ofo

    tcp_data_queue_ofo 在新内核的实现中ofo队列实际上是一颗红黑树.在tcp_data_queue_ofo中根据序号,查找到合适位置,合并或者添加到rbtree中.同时设置dsack和 ...

  7. linux 命令之file

    Linux file命令用于辨识文件类型. 通过file指令,我们得以辨识该文件的类型. 语法 file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...] ...

  8. Appium常用操作之「Toast提示信息获取」

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:Oschina.云+社区.知乎等各大平台都有. 目录 一.什么是 Toast 二.获取 Toast 提示信息的前提 1.针对这种元素,有的时候我们需要 ...

  9. Python input用户交互

    1.input(),阻塞等待用户输入内容并敲回车. 1 #-*- encoding:utf-8 -*- 2 3 name = input('请输入你的名字') 4 5 age = input('请输入 ...

  10. springMVC中添加<mvc:resource>时的问题

    为了解决SpringMVC在使用<url-pattern>/</url-pattern>时会屏蔽掉所有静态资源的问题 在springMVC.xml 配置文件中加入了如下代码: ...