webpack
gulp
npm
https://www.nodebeginner.org/index-zh-cn.html
http://javascript.ruanyifeng.com/
创建js脚本文件
使用命令行工具到所属的文件
使用node 文件名 运行这个程序
nodejs没有bom或者dom
运行以下会报错
[pandas.html](../../../../../../home/chi/pandas.html) console.log(Window)
console.log(document)
浏览器中的JavaScript没有文件操作的能力
nodejs中的JavaScript有操作文件的能力
读文件
readFile
第一个参数是文件路径
第二个参数是回调函数
var fs=require("fs");
fs.readFile("01-3.txt",function(error,data){
//读取成功
// data 数据
// error null
// 失败
// data undefined
// error 错误对象
//通过判断error来判断文件读写成功
if(error){
console.log("读取文件失败");
return;
}
console.log(data.toString());// 文件的打开一般以二进制方式
})
写文件
writeFile()
第一个参数是文件路径
第二个参数是文件内容
第三个参数是回调函数
fs.writeFile("01-3.txt","大家好我叫傻逼",function(error){
if(error){
console.log("写入失败");
}
})
//加载http核心模块
var http=require("http")
//使用http.createServer()方法创建一个web服务器
//返回一个sever实例
var server=http.createServer()
server.on("request",function(){
console.log("copy that")
})
server.listen(3000,function(){
console.log("服务器启动成功");
})
//使用http://localhost:3000/访问这个服务器
//在服务器端就会有收到请求的命令
请求和响应
var http=require("http")
var server=http.createServer()
//request请求事件
//需要接受两个参数
//Request
// 请求对象可以获取客户端的一些请求信息
//Response
// 响应对象可以用来给客户端发送响应消息
server.on("request",function(Request,Response){
if(Request.url=="/index"){
Response.write("hello");
}
if(Request.url=="/login"){
Response.write("login");
}
if(Request.url=="/register"){
Response.write("register")
}
if(Request.url=="/haha"){
Response.write("haha");
}
Response.end();
});
server.listen(3000,function(){
console.log("服务器启动成功");
})
浏览器默认端口号80请求
res.end()
中参数只能是字符串或者二进制数据
端口号
require是一个方法,调用不同的模块
1.fs http内置模块
2.用户自己编写的文件模块
相对路径必须./
3.npm(待补充)
文件模块fs
http模块
var http=require(“http”)
os模块
path处理路径
node中的模块,执行多文件
node中没有全局作用域只有模块作用域
模块与模块之间的通信
把所有被挂载的外部成员 加载到exports
所有联网的程序都需要进行网络通信
计算机中只有一个物理网卡,而且同一个局域网,网卡地址是唯一的
网卡是通过唯一的id进行定位
dns将域名转换为ip地址
ip地址用于定位计算机
端口号用来定位具体的应用程序
(所有通讯(联网)软件都必须有端口号)
req.socket.remoteAddress获取客户端的地址
req.socket.remotePort获取客户端的端口号
不要占用常用的端口号
中文乱码的问题
在http协议中 content-type 就是告诉对方发送数据的内容类型是什么
res.setHeader("Content-Type","text/plain;charset=utf-8")//应该写到最前 写在write之后会报错
res.write("hello 世界")
//类型必须为html
res.setHeader("Content-Type","text/html;charset=utf-8")
res.write("<h1>hello 世界</h1>")