nodejs相关

Node初识与配置安装(一)

2016-10-09  本文已影响210人  simuty
1509320.jpg

第一. JavaScript简述

1992年, 第一个客户端脚本语言ScriptEase诞生, 由Nombas公司开发;JavaScript的首秀是在1995年,JScript 的诞生成为 JavaScript 发展的一个重要里程碑,标志了动态网页时 代的全面到来。

在1996年,JavaScript 标准由诸多软件厂商共同提交给ECMA(欧洲计算机制造商协会)。 ECMA 通过了标准 ECMA-262,也就是 ECMAScript。

第二. Node.js是什么?

2009年,由 Ryan Dahl发起的开源项目, 后被Joyent公司收购并管理维护;Node.js 有着强大而灵活的包管理器(node package manager,npm),目前已经有上万个第三方模块,其中有网站开发框架, 有 MySQL、PostgreSQL、MongoDB 数据库接口,有模板语言解析、CSS 生成工具、邮件、 加密、图形、调试支持,甚至还有图形用户界面和操作系统API工具。

Node.js是一个让 JavaScript 运行在服务端的开发平台;

Node.js可以作为服务器向用户提供服务,它跳过了 Apache、Nginx 等 HTTP 服务器,直接面向前端开发。Node.js 的许多设计理念与经典架构(如 LAMP)有着很大的 不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境。

第三. Node.js不是什么?

1. Node.js 不是一种独立的语言,
2. Node.js 不是一个 JavaScript 框架 ; 

第四 JS

第一种分类

JavaScript 是由 ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,

第二种分类

JavaScript 由 Core JavaScript 和 Client JavaScript 组成.

Node.js 中所谓的 JavaScript 只是 Core JavaScript,或是ECMAScript的一种实现, 不包含 DOM、BOM 或者 Client JavaScript;

Node.js 是一个让 JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、 包、操作系统 API、网络通信等 Core JavaScript 没有或者不完善的功能。
Node.js 的 JavaScript 引擎是 V8,来自 Google Chrome 项目。

node.js能做什么?
 具有复杂逻辑的网站;
 基于社交网络的大规模 Web 应用;
 Web Socket 服务器;
 TCP/UDP 套接字应用程序; 8  命令行工具;
 交互式终端程序;
 带有图形用户界面的本地应用程序;
 单元测试工具;
 客户端 JavaScript 编译器。

第五. Node.js 与 PHP 对比


Node.js 内建了 HTTP 服务器支持,也就是说你可以轻而易举地实现一个网站和服务器
的组合。

使用 PHP 的时候,必须先搭建一个 Apache 之类的HTTP 服务器,然后通过 HTTP 服务器的模块加载或 CGI 调用,才能将 PHP 脚本的执行结 果呈现给用户。


images.jpeg

Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计。

第六 Node.js与传统对比

1. 传统: 多线程模型. 为每个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式 I/O 调用时的时间开销。
2. Node.js: 单线程模型, 对于所有 I/O 都采用异步式的请求方式,避免了频繁的上下文切换。

异步机制是基于事件的, 以非阻塞的方式请求,返回的结果由事件循环来处理。

优缺点

1. 优点: CPU 和内存在同一时间集中处理一件事,同时尽可能让耗时的 I/O 操作并行执行。

2. 缺点: 它不符合开发者的常规线性思路,往往 需要把一个完整的逻辑拆分为一个个事件,增加了开发和调试难度。

引擎效率革命导致, 之前网景公司实现并收费的服务端的JavaScript重回人们的视野, 为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了, CommonJS 规范包括了模块(modules)、包(packages)、系统(system)、二进制(binary)、 控制台(console)、编码(encodings)、文件系统(filesystems)、套接字(sockets)、单元测 试(unit testing)等部分。

Node.js 是目前 CommonJS 规范最热门的一个实现,它基于 CommonJS 的 Modules/1.0 规 范实现了 Node.js 的模块,同时随着 CommonJS 规范的更新,Node.js 也在不断跟进。

第二部分

#### 配置开发环境

Node.js官网提供了 Mac OS X 的安装包, 下载安装包。下载完成后运行安装包;

主要概念

1. Homebrew: 是一款自由及开放源代码的软件包管理系统,用以简化Mac OS X系统上的软件安装过程;
2. nvm: 借助(Node Version Manager)来安装并管理Node.js。由于node更新非常快速,开发过程很有可能会有切换node版本的需求;
3. npm: 是 Node 的模块管理器,功能极其强大。只要一行命令,就能安装别人写好的模块。
4. curl: 是利用URL语法在命令行方式下工作的文件传输工具,支持很多协议,如HTTP、FTP、TELNET等。

起初设想的安装步骤: 用Homebrew安装nvm, 然后使用nvm安装Node.js

第一步: 安装brew, 之前安装ruby时已经配置好了, 很轻大的工具, 你指的拥有. Brew首页查看最新的安装方法

#一行代码搞定
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第二步: brew安装nvm, 一行代码搞定;

$ brew install nvm

然后没没有然后了, 后来在nvm在github的说明中找到了如下:

Homebrew installation is not supported. If you have issues with homebrew-installed nvm, please brew uninstall it, and install it using the instructions below, before filing an issue.

正确姿势: <多看官方文档>

第一步: 使用curl方式安装:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Mac安装后如果提示nvm: command not found, 是因为没有[.bash_profile file]文件,

第一种方法: 创建touch ~/.bash_profile, 然后重新执行curl操作;
第二种方法: 打开.bash_profile, 添加source ~/.bashrc

第二步: 下载不同版本<2016年9月23日>

                        now
       (io.js)    v2.0   :          v2.x
          |         |    :            |
 v0.10.x  /--------------:-----------------\   Node.js 2.0
____|____/               :                  \______|_____
         \               :                  /
          \--------------:-----------------/
          |         |    :     |       |
       (node.js) v0.12.x :  v0.13.x  v0.14.x

对于nodejs与io.js的版本区别以及渊源,建议大家参考Node.js与io.js那些事儿

2006年,也许是厌倦了读博的无聊,他产生了『世界那么大,我想去看看』的念头,做出了『退学』的决定,然后一个人来到智利的Valparaiso小镇。 】那时候他尚不知道找一个什么样的工作来糊口。。。。。
在他眼中,拿工资和上班其实就是去那里旅行。

歪瓜仁没事咋就喜欢随便退学呢?
还不知道怎么糊口,就先退个学试试,闹着玩儿呢。

2.1罗列

#罗列可以安装的版本
$ nvm ls-remote
.
.
.
   v6.4.0
   v6.5.0
   v6.6.0
      

2.2下载版本

#为了演示,选择了6.6.0
$ nvm install v6.6.0

$ nvm install v5.12.0
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v5.12.0 (npm v3.8.6)

2.3切换版本

$ nvm use v5
Now using node v5.12.0 (npm v3.8.6)

$ nvm use v6
Now using node v6.6.0 (npm v3.10.3)

第三步骤常用命令

# 下载
$ nvm install ***
#切换版本
$ nvm use 版本号
#罗列下载的版本
$nvm ls
# 罗列远程版本
$nvm ls-remote
#设置默认的版本
$nvm alias default 版本

注意事项

  1. 当关闭终端在此打开时, 输入 nvm会提示找不到, 解决办法:
    .bash_profile文件中添加source ~/.bashrc;即可;

  2. nvm安装的路径是: ~/.nvm;

  3. 使用nvm安装node, 会安装在该路径下: ~/.nvm/versions/node;

附加

Mac 环境变量配置

1./etc/profile: (不建议修改这个文件)全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
 
2./etc/bashrc: 系统级环境变量. 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
 
3.~/.bash_profile: 用户级环境变量.每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
 

参考
Node.js 安裝與版本切換教學 (for MAC)

更多精彩内容请关注“IT实战联盟”哦~~~


IT实战联盟.jpg
上一篇下一篇

猜你喜欢

热点阅读