优势
1.性能较好
2.与前台js配合方便,相当于服务器
3.便于前端学习
基本操作
1.切换盘符 eg: e:
2.改变目录 cd 目录名
3.执行程序 node xxx.js
HTTP模块
const http = require('http');//引进模块
var server = http.creatServer(function(req,res){//创建服务
console.log(req.url);//请求地址
res.write("123");res.end();
});
server.listen(8080);//http://localhost:8080/ 监听
var server = http.creatServer(function(req,res){
switch(req.url){
case '/1.html':
res.write("111");
break;
case '/2.html':
res.write("222");
break;
defalut:
res.write('404');//不标准
break;
}
res.end();
}); //缺点:麻烦,限制性较大,修改内容时服务器需要重启
由于上述缺陷,引入文件操作文件操作:fs–File System
const fs = require('fs');/*读文件,异步操作*/
fs.readFile('a.txt',function(err,data){
if(err){
console.log("读取失败");
}
else{
console.log(data.toString());
}
});//参数:文件名,回调函数;/*写文件,异步操作*/fs.write('b.txt','内容',function(err){ })
异步:多个操作同时进行,前一次操作未完成,后一次也能开始
同步:一次一个
const http = require('http');
const fs = require('fs');
var server = createServer(function(req,res){
var faileName = './www'+req.url;
fs.readFile(fileName,function(err,data){
if(err){
res.write('404');
}
else{
res.write(data);
}
res.end();
});
});
自定义模块
模块组成
- require 请求:引入模块加./ 不加./时js文件放入node_modules
- 1.若有“./” 从当前目录找
- 2.若无 先从系统模块找;再从node_modules找
- module 输出
- exports 批量输出
/*mod.js*/
//对外输出
exports.a=12;
exports.b=5;
//批量输出
module.exports = {a:12,b:5};
/*1.js*/
const mod1 = require('./mod.js'); // 引入自己的模块——./
console.log(mod1.a,mod1.b);