Node实践之一

你们都知道JavaScript的专长就是处理客户端也就是与浏览器打交道了,全部的与服务器端的交互必须交给后台语言处理程序去作,基于JavaScript不能与服务器进行直接交互这样一个现状,Ryan Dahl决定使用V8引擎来建立JavaScript服务器环境。在此简单叙述一下这样作的缘由:node

  • V8引擎很快
  • V8专一Web,因此在处理HTTP,DNS,TCP等方面特别擅长
  • 大多数Web开发人员都会JavaScript

用一句话来讲就是Node.js是一个事件驱动的服务器端JavaScript环境。npm

也许有人会问了,什么是服务器端的JavaScript?编程

JavaScript与Web页面交互就是一般所称的客户端JavaScript,由于它发生在浏览器或者说客户端。服务器端JavaScript发生在把页面发送给浏览器以前的服务器上。json

安装Node.js

(由于个人电脑win7,我的比较穷,也没有苹果电脑,后台开发能力也只能说略懂,也没有在Unix操做系统上测试过,因此在此申请一下,个人操做所有都是在微软平台上。很差意思啊)浏览器

nodejs官网首页 下载相应的版本安装便可,很简单的服务器

验证Node.js是否安装正确

  1. 打开Node.js命令提示窗口
  2. 输入1+1
  3. 看一下是否界面显示2

第一个简单demo

一、建立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

在此备注一下:

  • 即便你只是修改js里面的哪怕一个字符,若是你想看到修改后的效果,那就必须得从新编译也就是说从新运行node命令
  • 要想中止服务器运行并返回终端,能够按ctrl+c(这个命令很方便的)
  • Node.js是运行的v8引擎上的,v8是同Google开发的开源的JavaScript引擎。事实上Node.js是个编程平台
  • 关于Node.js,并发的含义是一次作多件事件的能力

NPM(Node Package Manager)Node包管理器

npm容许开发人员在应用程序中建立、共享、重用模块。说句通俗一点的话,包就是一个功能模块,也确实是node.js的一个颇有特点的地方,为开发人员提供了不少便利。

经过使用模块能够快速的给应用程序添加许多功能。模块一般能够为开发人员除去常见的困难。

模块就是可重用的代码库

模块相关demo

安装模块

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得到,但并不表明它是获得良好测试或者说是稳定的,请使用模块的下载量和项目的问题数量做为模块的可靠性和成熟度的大体指南。

模块的安装方式

有两种方式

  1. 本地安装  npm install [module_name]
  2. 全局安装 npm install -g  [module_name]

全局安装意味着能够在文件系统的任何位置运行它。

本地安装模块意味着模块会被安装在项目内名为node_modules的文件夹中,并且它只可在该项目中使用。

全局安装模块意味着模块可在系统的任何一个地方使用。

做为 一条经验法则,请本地安装Node.js模块。

如何找模块文件

命令:npm docs [module_name]

这个命令执行以后会打开浏览器并进入模块做者所提供的文档页面,不信你能够在终端执行

 

npm docs underscore

 

经过运行以下命令查看项目的bug,这会打开浏览器并进入模块做者所提供的问题页面

npm bugs underscore

事实上还有一条查看源码命令(可是我电脑总是无法打开 提示说权限不够)

npm edit underscore

package.json

在C#中使用using来引用外部程序集,而在node.js中是使用package.json来指定依赖关系。npm容许开发人员使用package.json文件来指定在应用程序中要用的模块,而且经过单个命令来安装它们:npm install

可想而知这样的方式有哪些好处:

  • 无需一个一个地安装模块
  • 其实开发人员能够很容易的安装你的应用程序
  • 应用程序的依赖关系存储在一个单一的地方

package.json相关demo

一、创建一个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模块

 

未完待续(考虑到篇幅太长的问题  后续文章将继续探讨)

相关文章
相关标签/搜索