本文根据链接:https://www.cnblogs.com/giggle/p/5357269.html完成。
nodejs:可以运行在后端的javascript。
通过v8引擎,优化api类库使其运行在后端。
特点:基于时间驱动;无阻塞。
nodejs非常适合并发处理,javascript是单线程,通过很多的回调函数来达到这一目的。
首先安装node.js,通过链接。
现在完成后查看,node npm版本,通过node -v npm -v:
这样通过node命令就可以进入交互环境了,通过hello world进行测试:
注意:
字符串需要单引号进行标记。
两次ctrl +c就可以退出交互环境。
通过js文件进行交互,建立js文件learn.js:
创建内容为:
'use strict'
console.log('Hello world');
使用node learn.js执行命令。就会输出helloworld:
这里要注意两点:
1.文件名称不能和关键字同名。
2.strict关键字为严格模式:
消除代码的不安全之处,保证代码安全。
提高编译器效率,增加运行速度。
为未来新版本的javascript做好铺垫。
建立node server
node遵循commonjs,每个js文件都是一个模块,模块的好处就是避免命名空间污染。
编写一个http服务器:
'use strict'
//通过require将http库包含到程序中
var http = require('http');
//创建新的HTTP服务器
var server = http.createServer();
//通过request事件来响应request请求
server.on('request',function(req, res){
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('Hell World\n');
});
server.listen('8081');
console.log('Server running!');
通过node learn.js启动服务:
通过127.0.0.1:8081进行访问。
如果端口被占用则会报如下错误:
Error: listen EACCES 0.0.0.0:80
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1338:19)
at listenInCluster (net.js:1396:12)
at Server.listen (net.js:1480:7)
at Object.<anonymous> (E:\frontend\learningnode\learn.js:11:8)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)