听过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. C#发展历程以及C#6.0新特性

    一.C#发展历程 下图是自己整理列出了C#每次重要更新的时间及增加的新特性,对于了解C#这些年的发展历程,对C#的认识更加全面,是有帮助的. 二.C#6.0新特性 1.字符串插值 (String In ...

  2. ContentProvider数据访问详解

    ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一 ...

  3. 又发现一个msdn的坑

    一个类型里面有两个属性仅仅是大小写区别,可是IIS不区分大小写,问:如何才能查看两个属性里面的文档那? http://msdn.microsoft.com/en-us/library/microsof ...

  4. angular一些冷门的用法

    1.controller的第三个参数

  5. [BZOJ1854][Scoi2010]游戏(二分图匹配/并查集)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1854 分析:很裸的一道二分图匹配对吧,但是在hzwer的blog上看见神奇的并查集做法 ...

  6. [BZOJ1116][Poi2008]LCO(并查集)

    题目:http://hzwer.com/3010.html 分析:注意这里无向边是对入度没有贡献的. 那么对于一个n个点的连通块而言,如果它是一颗树(n-1条边),那么把所有边全部从某个根开始向下指, ...

  7. MSSQL 问题集锦

    [1]关于SQL Server数据库连接字符串的特殊参数说明 MultipleActiveResultSets和Mars_Connection同义,指定此数据库连接是否复用数据库内已建立的相同用户的连 ...

  8. DLL编写教程

    本文对通用的DLL技术做了一个总结,并提供了源代码打包下载,下载地址为: http://www.blogjava.net/Files/wxb_nudt/DLL_SRC.rar   DLL的优点 简单的 ...

  9. No Launcher activity found!

    已经研究Android有几天了,刚开始写的代码说安装成功,但是在AVD没有显示.左看代码,右看代码,总是没找到错误, <application android:allowBackup=" ...

  10. myeclipse下java文件乱码问题解决

    中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文 ...