node.js
__filenane:文件所在的绝对路径 __dirname文件所在的文件夹的绝对路径
require():引进资源
暴露:
exports 把模块里面的变量或者函数能让其他文件使用
模块化:
把每一个js文件都当成一个模块,
模块的分类:
自定义模块:自己写的模块
自定义模块的引进:require(相对路径)
第三方模块:我们下载的别人写的模块
第三方/自带:require('jquery.js");
node自带的模块:global
require(路径);
存储二进制数
buffer();
fs模块:
对系统文件进行操作:
对文件的操作:异步
1.rmdir(参数一,参数二)//删除一个文件夹(空文件夹)
参数一:删除文件夹的路径
参数二:操作完毕后的回调函数
err:
对象:删除失败
null:删除成功
2.mkdir(参数一,参数二)//怎加一个文件夹(空文件夹)
参数一:增加文件夹的路径
参数二:操作完毕后的回调函数
err:
对象:增加失败
3.rename(参1,参2 ,参3);//更改文件夹的名字
参1:被改文件夹路径
参2:修改过后的文件夹名
参3:回调函数
err:
对象:增加失败
null:修改成功
4.readdir(参1,参2 );//读取某个文件夹下面的子文件
参1:需要读取的文件夹路径
参2:回调函数,两个参数(err,data)
err:
对象:增加失败
null:修改成功
data:读取到的文件
5.exists(参数一,参数二):判断某个文件/文件夹是否存在
参数一:判断的文件
参数二:回调函数
true:存在
false:不存在
6.stat(参1,参2):目标是文件夹还是文件
参1:目标文件
参2:回调函数
两个参数:
1.err
null:操作成功
对象:操作失败
2.stats
方法:stats.isDirectory()
true:文件夹
对文件的操作
1.unlink(参数一,参数二):删除文件:
参数一:删除的文件 参数二:回调函数 function(err){ console.log(err)
//err为null成功
})
readFile(参数一,参数二):读取某个文件的内容
参数一:读取文件的路径 参数二:回调函数 function(err,data){ console.log(err,data)
}
rename(参数一,参数二,参数三):该文件的名字
参数一:改的文件名路径参数二:改名字后的文件 参数三:回调函数
写入内容:appendFile(参数一,参数二,参数三):往某个文件里面写入内容
参数一:文件路径,当目标文件不存在时,会先创建一个相同类型的文件,再写入内容 参数二:写入的内容
参数三:回调函数|
nodejs的特点:
1.异步操作 2.事件驱动
创建一个流
fs.createReadstream('./kk.mp4');//读流
data:当读到一段数据就触发一次
end:当数据读完,触发 error:读的过程中,报错,触发
fs.createReadstream('./kk.mp4');
fs.createWriteStream('./bbbb.txt');//写流
write(data)//写入方法
end//事件,写完后触发
function copy(file, newfile, cb) { let fs = require('fs'); fs.exists(file, function(onoff) { if (onoff) { fs.stat(file, function(err, stats) { if (stats.isFile()) { let createread = fs.createReadStream(file); let createwrite = fs.createWriteStream(newfile); createread.on('data', function(chunk) { createwrite.write(chunk); }) createread.on('end', function() { createwrite.on('end', function() {}) cb('复制成功'); }) } }) } else { cb('目标文件不存在'); } }) }
path 模块
let path = require('path);
join方法
let newpath = path(path1,path2,path3......);
resolve方法
将路径转化为绝对路径
parse方法
将路径转化为一个对象,
http模块
http:模块/https:模块 两种功能: 1.客户端发送请求 1.反向代理、服务器代理 2.网络爬虫 2.创建服务器端
let https = require('https'); let cheerio = require('cheerio'); let str = ''; let response = https.request('https://www.yougou.com/', function(res) { res.on('data', function(chunk) { str += chunk; }); res.on('end', function() { var $ = cheerio.load(str); //console.log(str) console.log($('img').attr('src')) }) }) response.end() //必须关闭通道
cheerio
第三方插件:可以将获取到的网页代码进行二次筛选,获取到自己想要的元素和资源
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方
npm:包管理器
package.json: npm init:初始化一个package.json
npm install<package_name>--save npm install<package_name>-S 生产模式 npm install<package_name>--save-dev npm instal1 <package_name>-D 开发模式
前端js:
1.ecma 2.DOM 3.BOM 4.ajx..... nodejs: 1.ecma 2.golabe模块 3.fs模块 4.http模块 5.数据库模块