听过JS,听过Node,也听过Node.js,还听过npm,然而并不是很清楚的知道都代表什么,这两天调接口,然后前端同学很忙,就自己把前端代码拿过来跑了,也趁机了解一下这几个概念,下边做个小的总结吧。

Node和Node.js

JS就不用说了,一种解释型语言,前端用的较多,目前也出现在服务器端。

其实Node和Node.js是一个东西,那什么是Node呢?再从JS说起,JS是一种解释型语言,需要一个解析器才可以运行,一般情况下,浏览器就充当了这个解析器的作用,那么对于需要独立运行的JS,Node.js则是其解析器。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

一直在写Python,实际上Python也是需要运行环境的,所以我们运行Python程序之前都要安装一个Python的环境,比方说Python 2.7.11或者Python 3.5.3。这里Node也是一样的。

npm

npm是JS的包管理工具,类似于pip之于Python,实现的功能也是一样的。

nvm

Node的版本管理工具

环境的安装和简单使用

安装nvm(version number可以自定义)

➜ Workspace sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash

Password:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7731 100 7731 0 0 2253 0 0:00:03 0:00:03 --:--:-- 2253
=> Downloading nvm from git to '/Users/wang/.nvm'
=> Cloning into '/Users/wang/.nvm'...
remote: Counting objects: 5106, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 5106 (delta 2), reused 0 (delta 0), pack-reused 5099
Receiving objects: 100% (5106/5106), 1.43 MiB | 122.00 KiB/s, done.
Resolving deltas: 100% (3071/3071), done.
Checking connectivity... done.
* (HEAD detached at v0.29.0)
master => Appending source string to /Users/wang/.zshrc
=> Close and reopen your terminal to start using nvm
➜ Workspace node
zsh: command not found: node
➜ Workspace ls
Github khb
➜ Workspace source ~/.nvm/nvm.sh
➜ Workspace node
zsh: command not found: node
➜ Workspace nvm install node Downloading https://nodejs.org/dist/v6.3.1/node-v6.3.1-darwin-x64.tar.gz...
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v6.3.1 (npm v3.10.3) ➜ Workspace nvm use node
Now using node v6.3.1 (npm v3.10.3)
➜ Workspace nvm -v Node Version Manager Note: <version> refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, s

  

npm的使用常用的有:
npm install xxx
npm search xxx

node升级到最新版本怎么做

➜ ~ sudo npm install n -g
/usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
/usr/local/lib
└── n@2.1.8 ➜ ~ sudo n stable install : node-v8.0.0
mkdir : /usr/local/n/versions/node/8.0.0
fetch : https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-x64.tar.gz
######################################################################## 100.0%
installed : v8.0.0

  

PS:

再次吐槽一下如果用Markdown写出来再放到cnblogs有点蛋疼,可能需要换个博客了 = =。

JS, Node.js, npm简介的更多相关文章

  1. soket.io.js + angular.js + express.js(node.js)

    soket.io.js + angular.js + express.js(node.js) 今天搭建个soket.io.js + angular.js + express.js的环境, 采坑无数,特 ...

  2. win10 安装node.js node.js 安装成功但npm -v 报错问题解决

    错误症状官网下载node-v8 .node-v10 的msi 安装进行安装. npm -v 错误如下 0 info it worked if it ends with ok 1 verbose cli ...

  3. windows系统下安装 node.js (node.js安装及环境配置)

    node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node. ...

  4. 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  5. [Node.js] Node.js项目的持续集成

    原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins 引子 持续集成 (Continuous Integration,简称CI)是一种软件工程 ...

  6. [Node.js] Node.js中的流

    原文地址:http://www.moye.me/2015/03/29/streaming_in_node/ 什么是流? 说到流,就涉及到一个*nix的概念:管道——在*nix中,流在Shell中被实现 ...

  7. [Node.js] Node.js Buffers

    >> node >>fs.readFile('finnish.txt', function(err,data){ console.log(data); }); // Outpu ...

  8. node.js(node.js+mongoose小案例)_实现简单的注册登录退出

    一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...

  9. [写出来才有价值系列:node.js]node.js 01-介绍及安装

    对于Node.js在百度百科上是这样解释的: Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度 ...

随机推荐

  1. 走进 Spring IOC 的世界

    转载出自:http://blog.csdn.net/m13666368773/article/details/7802126 1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的 ...

  2. byte[] 转字符串 中文乱码

    闲来无事,写了一个UWP的UDP/TCP小Demo,网上找了个网络调试助手,就兴冲冲的开始玩耍 结果“鸡同鸭讲”: 讲英文的时候大家都是abc,hello man!how are you? 讲中文的时 ...

  3. 有趣的问题--12 coins problem

    问题描述: 12个金币,其中有一枚是假的,重量与众不同. 现有一架天平,需要你用最少的次数来称重,然后告诉我: (1)哪个金币是假的 (2)它到底是更轻还是更重.   (注:此处为3次)     {解 ...

  4. -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

    一, eclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery ...

  5. 常用数据库高可用和分区解决方案(1) — MySQL篇

    在本文中我们将会讨论MySQL.Oracle.MongoDB.Redis以及Oceanbase数据库,大家可能会奇怪为什么看不到有名关系型数据库MSSQL.DB2或者有名NoSQL数据库Hbase.L ...

  6. java/c# 判断点是否在多边形区域内

    java/c# 判断点是否在多边形区域内 年06月29日 ⁄ 综合 ⁄ 共 1547字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近帮别人解决了一个问题,如何判断一个坐标点,是否在多边形区域内(二维). ...

  7. 【原创】解决jquery在ie中不能解析字符串类型xml结构的xml字符串的问题

    $.fn.extend({ //此方法解决了ie中jquery不识别非xml的类型的xml字符串的问题 tony tan findX: function (name) { if (this & ...

  8. Mybatis学习--Mapper.xml映射文件

    简介 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 映射文件中有很多属性,常用的就是parameterType(输入类型 ...

  9. C++_直接插入排序

    #include <iostream> using namespace std; void insertSort(int a[], int n) {     for(int i=1;i&l ...

  10. 在编译php事务时候出现如下错误,具体原因不知,不过解决了

    在make的时候出现如下错误 libtool: link: `ext/date/lib/parse_date.lo' is not a valid libtool objectmake: *** [l ...