Node.js入门
2018-02-05 17:26
183 查看
一、Node.js简介(对应《Nodejs权威指南》1.1)
Node.js目标:创建简单、高性能、可运行各种应用的开发工具。
Java、PHP、ASP.NET等服务器中,客户端连接2M,8G内存服务器最大用户数4000,同一个用户不同客户端请求可能被不同服务器处理,所有服务器必须共享资源。
Web服务器瓶颈在于服务器支持的最大同时连接用户量。
Node.js不为客户端连接创建新线程,而是触发在Node.js内部的处理事件。
Node.js运行C++语言开发的谷歌高性能V8JavaScript脚本语言(单线程,不会造成死锁),可运行在服务端,不局限在浏览器。
Node.js的机制:非阻塞型I/O(例如:访问数据库到数据库返回结果的这个时间段内不影响后面的代码执行)、事件环(一个时刻只能执行一个事件回调函数,但执行中途可处理其他事件,然后返回继续执行原来的事件回调函数)
Node.js适合开发的应用程序:应用程序需要处理大量的并发I/O,而在应用程序内部的不进行非常复杂的处理,如聊天服务器、综合服务类网站或电子商务服务器。
二、安装
下一步即可,新版集成了npm
三、模块
cmd下npm或者cnpm全局(需设置Node_Path)或本地安装(工程node_Moudle文件夹中),推荐本地安装。
参考:
[u]https://jingyan.baidu.com/article/91f5db1b2bb6941c7f05e33c.html[/u]
[u]https://www.cnblogs.com/PeunZhang/p/5629329.html[/u]
四、实战
可以cmd下node进入node开发(node.js安装时已经设置了一个环境变量),或者node.exe打开,均可可node
xx.js执行node.js文件;
也可在Hbuilder工具中安装nodeeclipse,即可新建node工程,或者JetBrains的webstorm等IDE。
Node.js连接Mysql可参考:
[u]http://www.runoob.com/nodejs/nodejs-mysql.html[/u]
代码:
var http = require('http');
http.createServer(function handler(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');//http://127.0.0.1:1337/访问
}).listen(1337, '127.0.0.1');//防止因运行进程还在内存导致的端口占用
console.log('Server running at http://127.0.0.1:1337/');
var mysql = require('mysql');//推荐cmd进入本地工程后npm
install mysql
//package.json中dependencies节点中自动加入mysql
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'test'
});
connection.connect();
connection.query('select * from tb_xuanjiang', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].cityName);
});
工程下载:
[u]https://github.com/haoranhaoshi/node.js[/u]
四、扩展
Js全栈开发:node.js写服务端,结合bootstrap写Web,native.js结合mui写webApp,结合node-webkit写webDesktop。
cmd下npm help npm可调取帮助网页,npm ls可显示已经安装的模块。
Node.js框架:
参考:
[u]http://web.jobbole.com/84607/[/u]
Node.js目标:创建简单、高性能、可运行各种应用的开发工具。
Java、PHP、ASP.NET等服务器中,客户端连接2M,8G内存服务器最大用户数4000,同一个用户不同客户端请求可能被不同服务器处理,所有服务器必须共享资源。
Web服务器瓶颈在于服务器支持的最大同时连接用户量。
Node.js不为客户端连接创建新线程,而是触发在Node.js内部的处理事件。
Node.js运行C++语言开发的谷歌高性能V8JavaScript脚本语言(单线程,不会造成死锁),可运行在服务端,不局限在浏览器。
Node.js的机制:非阻塞型I/O(例如:访问数据库到数据库返回结果的这个时间段内不影响后面的代码执行)、事件环(一个时刻只能执行一个事件回调函数,但执行中途可处理其他事件,然后返回继续执行原来的事件回调函数)
Node.js适合开发的应用程序:应用程序需要处理大量的并发I/O,而在应用程序内部的不进行非常复杂的处理,如聊天服务器、综合服务类网站或电子商务服务器。
二、安装
下一步即可,新版集成了npm
三、模块
cmd下npm或者cnpm全局(需设置Node_Path)或本地安装(工程node_Moudle文件夹中),推荐本地安装。
参考:
[u]https://jingyan.baidu.com/article/91f5db1b2bb6941c7f05e33c.html[/u]
[u]https://www.cnblogs.com/PeunZhang/p/5629329.html[/u]
四、实战
可以cmd下node进入node开发(node.js安装时已经设置了一个环境变量),或者node.exe打开,均可可node
xx.js执行node.js文件;
也可在Hbuilder工具中安装nodeeclipse,即可新建node工程,或者JetBrains的webstorm等IDE。
Node.js连接Mysql可参考:
[u]http://www.runoob.com/nodejs/nodejs-mysql.html[/u]
代码:
var http = require('http');
http.createServer(function handler(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');//http://127.0.0.1:1337/访问
}).listen(1337, '127.0.0.1');//防止因运行进程还在内存导致的端口占用
console.log('Server running at http://127.0.0.1:1337/');
var mysql = require('mysql');//推荐cmd进入本地工程后npm
install mysql
//package.json中dependencies节点中自动加入mysql
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'test'
});
connection.connect();
connection.query('select * from tb_xuanjiang', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].cityName);
});
工程下载:
[u]https://github.com/haoranhaoshi/node.js[/u]
四、扩展
Js全栈开发:node.js写服务端,结合bootstrap写Web,native.js结合mui写webApp,结合node-webkit写webDesktop。
cmd下npm help npm可调取帮助网页,npm ls可显示已经安装的模块。
Node.js框架:
参考:
[u]http://web.jobbole.com/84607/[/u]
相关文章推荐
- Node.js开发入门(六)——使用jade模板引擎
- Angular4+NodeJs+MySQL 入门-03 后台接口定义
- <Node.js入门>教程中代码的修改
- 从零开始node.js入门项目(四)数据对象(mongodb)
- node.js入门学习
- node.js入门1.0安装与搭建第一个服务器
- node.js入门甜点,使用node.js建静态博客
- 一本node.js入门书籍
- Node.js从入门到实战(二)Node.js基本用法
- Node.js安装和入门 - 2行代码让你能够启动一个Server
- Node.js安装和入门
- node.js入门教程
- Node.js入门到企业Web开发中的应用
- Node.js入门到精通(1)简介
- node.js从入门到菜鸟——node与数据库
- Node.js开发入门—语音合成示例
- 创业笔记-Node.js入门之JavaScript与Node.js
- node.js入门实例helloworld详解
- Node.js入门——mac下安装Node.js