node-01学习
一、为什么要学习node?
企业需求:
- 具有服务端开发经验更好
- front-end(前端)
- back-end(后端)
- 全栈开发工程
- 基本的网站开发能力
- 服务端
- 前端
- 运维部署
- 多人社区项目(练习)
后端服务端语言
1.java
2.PHP
3.python
4.Ruby
5.Net 。。。
6.Node.js
二、Node.js是什么?
1.特性
Node.js可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如
- 文件的读写(File System)
- 进程的管理(Process)
- 网络通信(HTTP/HTTPS)
- ……
2.举例
2.1浏览器安全级别的限制
Ajax测试(有跨域)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>browser-safe-sandbox</title>
</head>
<body>
<div>brower-safe-sandbox</div>
<script>
const xhr = new XMLHttpRequest()
xhr.open('get','https://m.maoyan.com/ajax/moreClassicList?sortId=1&showType=3&limit=10&offset')
xhr.send()
</script>
</body>
</html>
const https = require('https')
https.get(
'https://m.maoyan.com/ajax/moreClassicList?sortId=1&showType=3&limit=10',
(res) => {
console.log(res)
let str = ''
res.on('data',(chunk)=>{
str+=chunk
})
res.on('end',()=>{
console.log(str)
})
}
)
2.2文件的读写(File system)
const fs = require('fs')
fs.writeFile('./log.text', 'hello', (err, data) => {
if (err) {
} else {
console.log('文件创建成功')
}
})
2.3进程管理
console.log(process.argv.slice(2))
// 运行 node index.js argv1 argv2
// 打印结果
// ['argv1','argv2']
2.4网络通信
const http = require('http')
const server = http.createServer((request, response) => {
let url = request.url
response.write(url)
response.end()
})
server.listen(8090, 'localhost', () => {
console.log('localhost:8090')
})