目的
1.Node 是一个服务器端 JavaScript 解释器。
2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码。处理高并发和异步I/O是Node受到开发人员的关注的原因之一。
3.Node 本身运行Google V8 JavaScript引擎,所以速度和性能非常好,看chrome就知道,而且Node对其封装的同时还改进了其处理二进制数据的能力。因此,Node不仅仅简单的使用了V8,还对其进行了优化,使其在各种环境下更加给力。(什么是V8 JavaScript 引擎?请“百度知道”)
4.第三方的扩展和模块在Node的使用中起到重要的作用。下面也会介绍下载npm,npm就是模块的管理工具,用它安装各种 Node 的软件包(如express,redis等)并发布自己为Node写的软件包 。
安装配置
Python版本2.6以上
安装方法1:
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs
安装方法2:
解压软件包
# cd /usr/local/bin
# ln -s /opt/node-v8.9.4-linux-x64/bin/node node
# ln -s /opt/node-v8.9.4-linux-x64/bin/npm npm
推荐使用方法一,直接安装在系统环境/usr/bin目录下,之后使用npm -g安装其他插件也会安装到/usr/lib/node_modules(需要使用sudo权限)。如:npm install express -g
然后设置环境变量:
export NODE_PATH="/usr/lib/node_modules"
试用
创建hello.js文件,内容如下:
var http = require('http');【导入http模块】
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
执行./node hello.js
本机访问http://127.0.0.1:1337/即可
模块化
直接使用全局函数 require() 来加载一个模块,如:require("http") 加载系统预置的 http 模块;require("./myModule.js") 加载与当前js文件同一目录下的自定义myModule.js模块。
先创建一个myModule.js,代码如下:
var name = "Darren";
this.location = "Beijing";
this.showLog = function(){
console.log('Hi Darren.')
};
再创建一个test.js,代码如下:
var myMod = require("./myModule.js");
myMod.showLog();
console.log(myMod.name);
console.log(myMod.location);
执行./node test.js,结果如下:
Hi Darren.
Undefined
Beijing
结论:代码中有三种类型,分别是私用属性,共有属性和共有方法,私有属性在模块以外是取不到的,所以是undefined。共有属性和共有方法的声明需要在前面加上this关键字。