前言:
学习笔记原本是从1开始的,然而为了永远“怀念”已经离职的钱童鞋,我决定补上一篇。话说,程序员的数数不都是从0开始的吗。
初识node.js大概是一年前的这个时候,钱童鞋来单位面试,简历上的其中一项技能是node.js。当时我还傻傻的以为又是一个类似jquery的js框架……
过完年,钱童鞋入职,然后慢慢得熟悉,交流得越来越多,也就慢慢得知node.js的众多优点。
- google的V8引擎
- 高速IO
- 非阻塞
- 异步回调
- 单线程
- 事件驱动
- 。。。
然并卵,吸引我的却是javascript。在这之前,javascript对我来说只是web1.0时代开发web的辅助语言,在web2.0+时代开发web的主要脚本语言,从来都没想过javascript还可以用来写服务端代码。然而它的神奇并没有到此为止,没过多久钱童鞋又让我见识了node-webkit,于是
nodejs+html=桌面app
服务端、桌面app、web只要javascript一种语言,这分明就是要一统天下呀!!!
古人云,天下大势,合久必分,分久必合……
再看看node.js的发展历史:
2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包。
2010年年底,Node.js获得云计算服务商Joyent资助。
2014年,多位重量级Node.js开发者不满Joyent对Node.js的管理,自立门户创建了io.js。
2015年,node.js的版本仍然是0.xx.xx,而io.js已经发布到3.xx.xx
2015年5月,node.js与io.js合并,名称仍然为node.js。合并后版本号从4.xx.xx起。
NODE-WEBKIT:
node-webkit是一个支持跨操作系统(Windows,Linux,MacOS)的利用流行的Web技术(Node.JS, JavaScript,HTML5)来编写应用程序的平台。
官方的解释是Web应用程序运行时环境,简单来说就是,你可以利用你所知道的几乎所有web技术来构建本地应用程序,HTML5, JS, Nodejs, jQuery等等。
安装准备
- 安装前准备
安装依赖库gcc, g++:
apt-get install gcc g++下载nodejs源码包:
wget https://nodejs.org/dist/v5.1.0/node-v5.1.0-linux-x64.tar.gz
- 安装
解压:
tar xvfz node-v5.1.0-linux-x86.tar.gz
编译:
cd node-v5.1.0-linux-x86 ./configure make
安装:
make install
- 测试
检查版本:
node -v显示"v5.1.0",安装正确
npm(node package manager),是node.js的一个包管理器,用于第三方模块的下载、安装和管理。
npm收录着庞大而丰富的第三方资源,截至目前为止已经收录了220102个包。npm之于node.js,其重要程度可比maven与java、pip与python。
npm安装
一、npm安装
npm的安装非常简单,在linux下只要一条命令即可完成安装,如下:
apt-get install npm安装完后,运行“npm”命令检查一下是否安装成功,出现如下提示说明安装成功:
lee@mypc ~ $ npm Usage: npm <command> where <command> is one of: access, add-user, adduser, apihelp, author, bin, bugs, c, cache, completion, config, ddp, dedupe, deprecate, dist-tag, dist-tags, docs, edit, explore, faq, find, find-dupes, get, help, help-search, home, i, info, init, install, issues, la, link, list, ll, ln, login, logout, ls, outdated, owner, pack, ping, prefix, prune, publish, r, rb, rebuild, remove, repo, restart, rm, root, run-script, s, se, search, set, show, shrinkwrap, star, stars, start, stop, t, tag, team, test, tst, un, uninstall, unlink, unpublish, unstar, up, update, upgrade, v, verison, version, view, whoami npm <cmd> -h quick help on <cmd> npm -l display full usage info npm faq commonly asked questions npm help <term> search for help on <term> npm help npm involved overview Specify configs in the ini-formatted file: /home/lee/.npmrc or on the command line via: npm <command> --key value Config info can be viewed via: npm help config npm@3.3.12 /usr/local/lib/node_modules/npm
二、npm使用说明
1、模式
npm有全局和本地两种模式。
本地模式是npm的默认模式,这种模式的工作范围仅限于当前的工作目录下,任何操作都不会影响电脑上的其他node.js代码。
eg. 把log4js安装到当前项目下
npm install -d log4js
反之,全局模式是为电脑上所有的node.js项目服务的。如果安装Node时使用的默认目录,在全局模式下面,NPM会把包安装到/usr/local/lib/node_modules。
eg. 安装express
npm install -g express
2、npm常用命令
- npm init 会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
- npm install <name> 安装nodejs的依赖包
- npm install <name> -g 将包安装到全局环境中
- npm install <name> --save 安装的同时,将信息写入package.json中。项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包
- npm remove <name> 移除
- npm update <name> 更新
- npm ls 列出当前安装的了所有包
- npm root 查看当前包的安装路径
- npm root -g 查看全局的包的安装路径
- npm help 帮助,如果要单独查看install命令的帮助,可以使用的npm help install
第一个node.js程序 hello world
准备好了node.js的环境和npm包管理器,终于可以开始第一个node.js程序了。
跟大多数解释型语言一样,node.js有交互模式和脚本模式。
- 交互模式:
打开终端,键入node进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:
lee@mypc ~ $ node > console.log("Hello world !"); Hello world ! undefined > .exitps. 推出nodejs交互模式可以使用.exit命令,也可以使用两次ctrl+c
- 脚本模式:
创建一个文件,内容如下:
console.log("Hello World");
保存该文件,文件名为 helloworld.js, 并通过 node命令来执行:
lee@mypc ~/works/nodejs/study3 $ node helloworld.js Hello world !