node.js是啥
node.js不是独立的一门语言,与php python的“既是平台也是语言”不同。node 也不是一个js框架不同于cakephp 、django、rails,它不是浏览器端的库。node.js是一个能让js上运行在服务器端的开发平台。
node.js能干啥
开发 1.具有复杂逻辑的网站 2.基于社交网络的大规模web应用 3.客户端javascript编辑器 4.单元测试工具 node.js内建了HTTP服务器支持
node.js的特点
:采用异步式I/O与事件驱动的框架设计代替多线程。node.js在执行采用单线程异步式的请求方式,避免了上下文的切换。//个人觉得node.js好多要安装的东西,功能挺多,但是有些由于版本问题啥的可以让你‘爱恨交加’,自己又是小白,不太会改bug,所以学习node最好有人带。
HTTP服务器
http服务器是node.js自带的模块,需要把他赋值给http变量 这里只会启动一个侦听8888端口的服务器
var http = require("http");
var server = http.createServer();
server.listen(8888);
这样服务器(浏览器localhost:8000下)就会应答ok
var http = require("http");
var server = http.createServer();
server.on('request',(req,res),()=>//注意要严格按照req,res的顺序,不然就报错
{res.end('ok')
})
server.listen(8888);
下面谈一谈```
//这里respond.writeHead中的200表示z正确状态、400表示错误、404表示not found contain-type表示转换文本类型 还有text/html、text/css.
想知道怎样引入外部文件吗?来吧
首先我们在同一个文件夹下创建好文件in.js
hello
再创建out.js
const fs = require("fs"); fs.readFile("./in.js", "utf8", (err, result) => { console.log(result); });
//输出结果hello
readfile顾名思义读取文件,fs.readFile是异步读取文件还有fs.readfileSnyc同步读取文件。
node中执行文件是以单线程异步执行,避免了上下文的切换,也可以弥补同步式的时间开销
既然涉及到utf8,那就了解一下utf8是啥?
UTF-8并不算是一种电脑编码,而是一种储存和传送的格式
注意数据库中要严格使用UTF-8,这是标准写法
看看URl模块
首先得引入url const url = require("url") 它可以通过url.parse(www.baidu.com,boolean,boolean) 第一个参数是urlString parse这个方法可以将一个url的字符串解析并返回一个url的对象 将其赋值变量Myurl,打印出来
const myUrl = url.parse("http://user:pass@host.com:8080/p/a/t/h?query=string#hash") console.log(myUrl);
//打印出Url { protocol: 'http:', slashes: true, auth: 'user:pass', host: 'host.com:8080', port: '8080', hostname: 'host.com', hash: '#hash', search: '?query=string', query: 'query=string', pathname: '/p/a/t/h', path: '/p/a/t/h?query=string', href: 'user:pass@host.com:8080/p/a/t/h?que…' } 后续内容,正在跟进..... (非常希望有学node.js的小伙伴能一起交流,上述内容如果感觉不对劲,或者你有自己的见解,请联系俺哈,真心希望能多交几个node的网友,最后,希望这个能帮到你。)