什么是node.js?
1.node.js是一个构建于Chrome V8引擎之上的一个Javascript运行环境
node是一个运行环境,作用是让js拥有开发服务端的功能
2.node.js的作用: 使用js语言开发服务器
node.js的环境安装
可以到官网 Previous Releases | Node.js 中进行下载,建议下载使用长期维护版
下载完成后,如何确定是否安装node环境?
打开终端输入node -v,如果可以看到版本号就说明电脑已经安装的node环境。
打开终端的方式win+R输入cmd即可
服务端js和客户端js的区别
1.客户端JS由三部分组成
-
ECMAScript:确定js的语法规范
-
DOM:js操作网页内容
-
BOM:js操作浏览器窗口
2.服务端JS只有ECMAScript
-
因为服务端是没有界面的
nodejs模块化介绍
什么是模块化?
把一个大文件拆分成为多个小文件,然后用特定的语法组合在一起,这种开发方式叫做模块化开发
模块化开发的好处
- 按需引入 节省资源
- 避免变量污染
- 业务分离 便于维护
模块化语法
目标:了解CommonJS模块化语法规范
导出模块:module.exports = { }
导入模块:const 模块 = require(‘文件路径’)
node.js核心模块
fs读写:fs.readFile()
fs.writeFile()
path:拼接路径
拼接绝对路径:path.resolve(‘文件名’)
—dirname:文件夹绝对路径
http:搭建服务器
const http = require('http');
//2.创建服务器
const app = http.createServer((req, res) => {
console.log(req.url)
//需求: 如果请求路径是/ ,响应 index 如果请求路径是/login,响应 登录页
if (req.url == '/index') {
res.writeHead(200, {
'Content-Type': 'text/html;charset=utf-8'
})
} else if (req.url == '/login') {
//设置响应头解决中文乱码问题: 响应头作用:告诉浏览器我返回给你的数据是什么类型
/*第一个参数:状态码
第二个:响应头
*/
res.writeHead(200, {
'Content-Type': 'text/json;charset=utf-8'// text/plain 普通文本
})
res.end(JSON.stringify({ name: '张三', age: 20 }))
} else {
res.end('Not Found' + req.url)
}
})
//3.开启服务器
app.listen(3000, () => {
console.log('服务器开启成功')
})