1.前端、后端都是干什么的?
前端:HTML,CSS,Javascript
后端:服务端+数据库
服务端: java php .net python node(是一门技术,不是语言,核心语法是ECMAScript)
数据库:
前端 + 后端 前端是可以和任意的一个服务端语言,任意的一门数据库进行搭配
前端 + java + mysql
前端 + php + mysql
前端 + .net + sqlserver
前端 + node + MongoDB
前端:做静态资源
后端:操作服务器硬件
2.为什么要学习node?
- 就业有市场
- ECMAScript进行开发:省时,省力
3.什么是JavaScript?
一门脚本语言 需要嵌入在html中执行的
BOM + DOM (浏览器接口) + ECMAScript(标准) = JavaScript
BOM + DOM + XXXScript = 新的语言
BOM + DOM + ActionScript = flash
4.浏览器中的JavaScript可以做什么
校验表单 , 操作DOM
5.浏览器中的JavaScript不可以做什么
操作服务器硬件的
6.浏览器和JavaScript是什么关系?
电脑只会去认识二进制编码 01010101,浏览器是去解析JavaScript,对JavaScript进行编译
JavaScript是什么样的语言
弱类型,解释型
编译型:常见的编译型的语言有哪些
解释型的语言: python , JavaScript
编译型 : c c++
7.JavaScript只能运行在浏览器中么
node 可以运行在服务端
node 就是一个壳子,把谷歌浏览器的js解析引擎拿过来放到了服务器中
不需要去考虑兼容性的问题
事件驱动,无阻塞的IO模型
node是门技术,不是一门新的语言
2009年5月份 正式对外宣布了nodejs的最初版本
安装
官网下载对应的安装包即可
windows+r 进入运行面板 输入cmd进入cmd面板
输入node chrome浏览器的console相同 repl(交互式运行环境)***
退出repl交互式运行环境 ctrl+c 两下
node-v 查看node的版本号
node的cmd面板命令
- 命令 node + 文件的路径node C:\Users\John\Desktop\node01\02.js
- 切换到当前的cmd目录(在当前文件夹中按住shift键,鼠标右键) + 文件名
引入一个模块,模块名叫fs(file sys)
var fs = require(“fs”); //require 是一个全局函数
fs这个模块在 node的安装目录C:\Program Files\nodejs\node_modules中
异步读文件
fs.readFile(文件的路径,[编码格式,]回调函数) //读文件的函数
fs.readFile("./remind.txt",function(err,data){
console.log(data.toString()); //如果没有加上编码格式的出来的是一串buffer
})
同步读文件
var data = fs.readFileSync("./remind.txt","utf8");
console.log(data);
fs.readFile("./02.js","utf8",function(err,data){
console.log(data.toString());
})
搭建服务器
前端代码 + 后端代码(服务器语言+数据库)
java tomcat服务器
php apache服务器
注意:node服务器自己手写
1.引入http模块
var http = require(“http”);
2.创建一个服务
http.createServer(function(req,res){ //传入一个回调函数,req请求,res响应
// 设置响应头
res.writeHead(200,{"content-type" : "text/html;charset=utf8"}) //200表示成功
res.end("这是一个服务器"); //响应结束
// 修改了服务端代码,一定要重启服务器
// 上一个服务结束 ctrl+c停止服务运行
// res.writeHead(200,{"content-type" : "image/jpeg"}) 图片的响应
// res.writeHead(200,{"content-type" : "image/png"}) 图片的响应
// res.writeHead(200,{"content-type" : "text/javascript;charset=utf8"}) JavaScript文本响应
}).listen(3000);
路由配置
var http = require("http"); //引入http的模块
var fs = require("fs"); //引入文件系统的模块
var server = http.createServer(); //创建一个服务器
//服务去监听request事件,回调函数中方的是request请求,response响应
server.on("request",function(request,response){
// response.end("123")
// fs.readFile("./index.html","utf8",function(err,data){
// response.end(data);
// })
// 进行路由的配置
// console.log(request.url); //路由
if(request.url == "/index.html" && request.method == "GET"){
fs.readFile("./index.html","utf8",function(err,data){
response.end(data);
})
}else if(request.url == "/login.html" && request.method == "GET"){
fs.readFile("./login.html","utf8",function(err,data){
response.end(data);
})
}
// 192.168.2.100 局域网的ip
// 127.0.0.7 本机
// localhost 本机
// })
server.listen(3000);
node小知识,欢迎大家互相学习!