你们都知道JavaScript的专长就是处理客户端也就是与浏览器打交道了,全部的与服务器端的交互必须交给后台语言处理程序去作,基于JavaScript不能与服务器进行直接交互这样一个现状,Ryan Dahl决定使用V8引擎来建立JavaScript服务器环境。在此简单叙述一下这样作的缘由:node
用一句话来讲就是Node.js是一个事件驱动的服务器端JavaScript环境。npm
也许有人会问了,什么是服务器端的JavaScript?编程
JavaScript与Web页面交互就是一般所称的客户端JavaScript,由于它发生在浏览器或者说客户端。服务器端JavaScript发生在把页面发送给浏览器以前的服务器上。json
(由于个人电脑win7,我的比较穷,也没有苹果电脑,后台开发能力也只能说略懂,也没有在Unix操做系统上测试过,因此在此申请一下,个人操做所有都是在微软平台上。很差意思啊)浏览器
到nodejs官网首页 下载相应的版本安装便可,很简单的服务器
一、建立server.js,代码以下并发
var http = require('http'); http.createServer(function (request, response) {//建立服务器
response.writeHead(200, { 'Content-Type': 'text/plain' });//回传到客户端的头信息
response.end('Hello World! ');//回传到客户端的信息
}).listen(3000,'127.0.0.1');//第一个参数为端口 第二个参数为主机地址
console.log('server running at http://127.0.0.1:3000');
二、开始--运行 cmd(也就是打开命令提示符窗口) 把当前路径cd转到server.js所在的目录工具
三、执行node server(原本是执行node server.js 但由于是js文件,因此默承认以省略.js)测试
四、打开浏览器,输入网址:http://127.0.0.1:3000 会发现浏览器显示hello worldui
在此备注一下:
npm容许开发人员在应用程序中建立、共享、重用模块。说句通俗一点的话,包就是一个功能模块,也确实是node.js的一个颇有特点的地方,为开发人员提供了不少便利。
经过使用模块能够快速的给应用程序添加许多功能。模块一般能够为开发人员除去常见的困难。
模块就是可重用的代码库
安装模块
npm install [module_name]
使用模块
var module=require('module');
demo具体步骤:
一、建立foo.js,代码以下
var _ = require('underscore'); _.each([1, 2, 3], function (num) { console.log('underscore.js says ' + num); });
二、打开命令提示符,将目录转到foo.js所在目录(文章下面的demo 这个步骤也是必须的 但我省略不写了哦)
三、运行npm install underscore 安装underscore包以后命令提示符中将显示相应的信息 而且在foo.js所在的目录下多一个node_modules文件夹,node_modules文件夹下有underscore包文件
四、运行node foo
在终端直接使用npm命令行工具来搜索 也就是npm search [模块的名称] 若是有多个关键字的话可用空格分开
提示:由于node.js容许你们只有有一个帐户就能够上传包,也就是说任何人均可以是node.js模块的做者,因此尽管模块可经过npm得到,但并不表明它是获得良好测试或者说是稳定的,请使用模块的下载量和项目的问题数量做为模块的可靠性和成熟度的大体指南。
有两种方式
全局安装意味着能够在文件系统的任何位置运行它。
本地安装模块意味着模块会被安装在项目内名为node_modules的文件夹中,并且它只可在该项目中使用。
全局安装模块意味着模块可在系统的任何一个地方使用。
做为 一条经验法则,请本地安装Node.js模块。
命令:npm docs [module_name]
这个命令执行以后会打开浏览器并进入模块做者所提供的文档页面,不信你能够在终端执行
npm docs underscore
经过运行以下命令查看项目的bug,这会打开浏览器并进入模块做者所提供的问题页面
npm bugs underscore
事实上还有一条查看源码命令(可是我电脑总是无法打开 提示说权限不够)
npm edit underscore
在C#中使用using来引用外部程序集,而在node.js中是使用package.json来指定依赖关系。npm容许开发人员使用package.json文件来指定在应用程序中要用的模块,而且经过单个命令来安装它们:npm install
可想而知这样的方式有哪些好处:
一、创建一个foo.js文件,代码以下所示:
var _ = require('underscore'); _.each([1, 2, 3], function (num) { console.log('underscore.js says ' + num); });
二、在foo.js同目录下创建一个package.json的文件,代码以下所示
{ "name":"example02", "version":"0.0.1", "dependencies":{ "underscore":"~1.2.1" } }
三、在终端执行npm install 这时候将会看到underscore库安装在node_modules文件夹下
建议:即便应用只须要安装一个模块,仍是强烈建议使用package.json文件来管理Node.js模块
未完待续(考虑到篇幅太长的问题 后续文章将继续探讨)