一,自定义模块编写认识
1,模块里面
require -- 引入
module.exports -- 批量输出
exports -- 输出
2,npm (nodejs package manager)
下载模块;同时解决依赖问题
3,node_modules
自定义模块放在这里
二,上传发布自己的模块到npmjs.org
npm login//登录
npm init //初始化
npm publish//发布
npm update ## //更新版本
npm --force unpublish //强制删除
更改的时候,修改版本,使用的时候需要更新 npm updata
三,express框架
(1)创建server
var server = express()
(2)监听
server.listen(8090);
(3)处理数据 (3种方法,其中use通吃)
server.use('/',function(req,res){
server.send();
server.end();
});
server.get('/',function(req,res){
});
server.post('/',function(req,res){
});
读取文件---中间件(express-static)
// 读取静态文件
server.use(expressStatic('./www'),function(req,res){
});
get请求----不需要中间件
server.get('/login',function(req,res){
//console.log(req.query)
var user = req.query['user'];
var pass = req.query['pass'];
if(users[user] == null){
res.send({ok:false,msg:'用户不存在'});
}else if(users[user] != pass){
res.send({ok:false,msg:'用户或密码输入错误'});
}else{
res.send({ok:true,msg:'登录成功'});
}
});
post 请求 ---- 需要中间件(body-parser)
server.use(bodyParser.urlencoded({
extended:false;//扩展
limit:2*1024*1024 //限制大小
}));
server.use('/',function(req,res){
console.log(req.body);
});
server.use(function(req,res,next){
var str = '';
req.on('data',function(data){
str += data;
})
req.on('end',function(){
req.body = querystring.parse(str);
next();//消息接收完之后,在进行下一步
});
});
//server.use(bodyParser.urlencoded({}));
server.use('/',function(req,res){
console.log(req.body)
});