什么是node?
node.js是 一种依靠 谷歌浏览器内核中的v8引擎驱动的可以方便的构建快速、可扩展的网络应用程序的平台。核心语言是JavaScript,前段人员方便上手使用。
为什么要使用node.js?
它使用事件驱动,非阻塞i/o模型,轻量,高效,商业用途强。
node有什么缺点?
最不擅长 CPU和内存的编程操作。
计算性能不如C
内存控制不如Java(JavaScript的面向对象是基于JSON的,而Java直接使用内存结构)
大内存的应用(由于v8引擎有内存设计的限制。32位环境最大堆1G,64位环境最大堆不到2G)
不需要异步的应用(比如系统管理,自行化脚本等)
node如何配置?
安装包直接安装
判断安装包是否成功:在谷歌控制台界面直接输入node。
node -v 版本号
也可配置环境变量,然后在cmd 中输入node 可直接进入
cmd中找到文件位置的方法
1.找到文件目录 (node 文件名.js)
2.使用绝对路径(node 文件绝对路径)
3.打开文件夹,按住shift键,鼠标在空白处右键 选择在此处打开命令窗口
注意:
在node中没有window对象,因为是直接用v8引擎解析。
node.js 语法。
1.断言
console.time()
用于测试
比如计算一段循环所用的时间:
console.time('test'); for(var i = 0; i < 10000000; i++){} console.time('test');
2.显示文件路径
console.log(__dirname) 显示当前文件所在的路径
console.log(__filename) 显示当前文件的全部路径
3.模块化
模块化:把代码拆分成模块,方便管理和维护
var 名字 = require("js文件地址")
还可以导入自己定义的函数等
注意:服务端在文件地址前需要加上./ 表示当前目录
4.fs文件系统模块
var fs = require("fs");
然后就可以使用node中内置的模块(包)。
5.常用内置模块
fs 文件系统
http 创建服务
path 路径
querystring 参数模块
url 地址栏
还有自定义模块
可到node文档中查看更多和更详细的方法使用
下面详细给出get 和 post 方式的简单服务器
var http = require("http"); var fs = require("fs"); var querystring = require("querystring"); var url = require("url"); var server = http.createServer(); server.on("request",function(req,res){ // console.log(req.url); //路由 var urlObj = url.parse(req.url,true); //把地址栏格式化成对象 var pathname = urlObj.pathname; var query = urlObj.query; //获取到url地址栏的参数 if(pathname == "/login" && req.method == "POST"){ //post方法 var data = ""; req.on("data",function(chunk){ data += chunk; }) req.on("end",function(){ var dataObj = querystring.parse(data); res.end(dataObj); }) } else if(pathname == "/getData" && req.method == "GET"){ //get方法 fs.readFile("./data/" + query.uname+".json","utf8",function(err,data){ res.end(data); }) } }) server.listen(3001);