JS不同的宿主(浏览器和node)
javascript在浏览器中运行环境是类
比如 浏览器操控类,弹窗页面跳转,DOM操作类等等。
而javascript在node中的运行环境是模块
node模块分为三大类
1,核心模块(node官方提供的所有模块都是核心模块)
2,第三方模块
3,自定义模块
核心模块为内置模块,有node的官方手册(有中文版)官方手册
读取文件内容
在官方文档file system(中文fs)中可以找到用法。
const fs = require(‘fs’);表示导入fs模块
const可看做变量var(可用var代替,const应该是不可改的意思 用于导入模块刚好)
创建一个txt文件在nodejs代码的根目录下。
到官方文档搜索read 找到fs.readFile查看其用法[,options]表示可选,可传可不传 callback回调函数 里面的=>是一种函数 估计和lamda函数一个意思
实例代码-------------:
var fs=require('fs);
fs.readFile('./tt.txt','utf8',function(err,data){//可见函数的要求是要有两个参数,即存下返回的err和data
console.log(err);
console.log('------------');
console.log(data);
});
异步和事件是node的核心思想
异步的概念:即代码不阻塞
事件:比如在js中 给一个button绑定一个按下这个button之后会发生的事件(浏览器或node调用),并且浏览器或node还可以将所有包含在这个事件对象当中的信息都返回给某个形参当中
写文件内容
fs.writeFile(file,data[,options],callback)
例子:----------
var fs=require('fs);
fs.writeFile('./tt.txt','嘿嘿嘿',function(err){
if(!err){
console.log('写入成功');
}
});
追加内容
var fs=require('fs);
fs.readFile('./tt.txt','utf8',function(err,data){
data += ',啦啦啦';
fs.writeFile('./tt.txt','嘿嘿嘿',function(err){
if(!err){
console.log('写入成功');
}
});
});
启动一个http服务
用于搭建http服务器
服务端:
var http = require('http');
var server = http.createServer();
//为这个服务器实例对象注册request请求处理函数
//请求处理函数function(形参1,形参2){}
//形参1:res 请求的处理对象,获取到当前请求的路径,方法等本次请求的所有信息
//形参2:rs 响应对象,发送响应数据
server.on('request',function(res,rs){
console.log(res.method);
rs.write('hello')//写入返回给客户端的信息
rs.end();//结束响应
});
server.listen(8080,function(){//8080端口启动成功 则运行function回调函数
console.log('请访问127.0.0.1:8080');
});