我还是那个菜芽

初学Nodejs,特意在此记录学习过程,算是对这段时间的一个summary吧,,相互勉励,共同进步嘛,Now Begin:

1、什么是nodejs

nodejs是一种基于事件驱动、非阻塞I/O模型,用于方便地搭建响应速度快且易于拓展的网络应用。基于Google V8引擎进行封装,V8引擎执行javascript效率高、速度快。nodejs其实就是一种解析器,用于进行各种运算。nodejs中内置了诸如文件操作(fs)、http or https、Buffer等模块或对象。

2、如何安装nodejs

nodejs的安装直接在https://nodejs.org/下载并安装即可。

3、入门实例

这里先创建一个简单的http服务并返回“hello nodejs”:

var http = require("http"); var server = http.createServer(function(req,res){ if (req.url !== "/favicon.ico") { res.writeHead(200,{"Content-Type":"text/plain"}); res.write("hello nodejs"); res.end(); req.on("end",function(){ console.log("客户端请求数据全部接收完毕"); }); } }).listen(1337,"localhost"); console.log("http服务器已创建并开始监听");

将上述代码保存为js文件如:http_server.js,然后在cmd窗口中切换至该文件的路径后,使用命令:node http_server.js,即可创建一个简单的http服务器。这时再在浏览器中输入::1337,观察浏览器窗口输出:hello nodejs,并且cmd窗口中输出:http服务器已创建并开始监听(换行)客户端请求数据全部接收完毕。这样一个简单的http服务创建与请求处理就完成了。下面是一些说明:

4、Exports

Exports对象是当前模块的一个导出对象,用于导出模块内的公有属性或方法。这样其它模块可以使用require直接导入使用,模块导出对象默认为一个普通对象,如果想改成一个函数的话,可以如下操作:

module.exports = function(){ console.log("hello world"); };5、Require的路径解析规则

require函数支持以斜杠(/)或盘符(c:)开头的绝对路径,也支持以./开头的相对路径。

如果传给require的是node_modules下的默认模块,不做路径解析,直接返回内部模块的导出对象,如:require("fs");nodejs定义了一个node_modules目录用于存放模块,如某个模块的绝对路径为/home/user/hello.js,在该模块中使用require("foo/bar")的方式请求模块时,依次请求以下路径:/home/user/node_modules/foo/bar、/home/node_modules/foo/bar、/node_modules/foo/bar6、NPM包使用

npm是同nodejs一起安装的一个包管理工具,使用npm可以安装各种模块的包。npm的使用比较简单,比如想安装包名为argv的包,直接在cmd窗口中输入:npm install argv。

npm包的安装时有本地安装和全局安装两种,全局安装使用:npm install -g argv,全局安装和本地安装的区别是,本地安装的包如果要在cmd窗口中引用,应该切换到该包所在目录方可,全局安装的包不用切换目录。

7、关于Webstorm&Express

Express是基于nodejs的一种web开发框架,同java中ssh框架一般,封装好了很多现有模块,比如Request、Response、Router等,提供诸多强大特性帮助创建各种web和移动设备应用。

关于Express具体介绍,Webstorm对js文件的支持很是不错,被誉为The Smartest JavaScript IDE,下面着重介绍在Webstorm下创建一个简单项目:

index.js文件代码如下,对相应的url请求进行分别处理:var express = require(‘express’);var router = express.Router();/* GET home page. */router.get(‘http://blog.csdn.net/’, function(req, res, next) { if(req.url !== "/favicon.ico"){res.render("index",{title:"Express"});next(); }});router.use("/list",function(req,res,next){ if(req.url !== "/favicon.ico"){console.log("router.use/add请求返回信息");//next(); }});module.exports = router;在浏览器中输入:http:localhost:3000,观察输出如下:

至此,一个简单的Express应用就完成了。

完整的一个增删改查实例:

点击下载Nodejs_crud

版权声明:本文为博主原创文章,未经博主允许不得转载。

坚硬的城市里没有柔软的爱情,生活不是林黛玉,

我还是那个菜芽

相关文章:

你感兴趣的文章:

标签云: