本文主要向大家介绍了JAVA语言之node使用自定义模块跟express,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
自定义模块
require——引入其他模块exports——输出module——批量输出
自定义模块向外输出/*exports.a=12;exports.b=5;exports.c=99;*///var a=12;exports.a=12;获取自定义模块输出内容const mod=require('mod');console.log(mod.a);批量向外输出module.exports={a: 12, b: 5, c: 99};
npm
npm:NodeJS Package Manager(NodeJS包管理器)1.统一下载途径2.自动下载依赖node_modules——放模块./不加./ 必须放在node_modules里面require1.如果有"./" 从当前目录找2.如果没有"./" 先从系统模块 再从node_modules找 自定义模块统一,都放到node_modules里面
npm发布自己的模块
https://www.npmjs.com/登陆自己的npm账号npm loginUsername: zhf198821Password:Email: (this IS public) 349860782@qq.comLogged in as zhf198821 on https://registry.npmjs.org/.npm whoami 查看自己的信息npm init 初始化Press ^C at any time to quit.package name: (自定义模块) mytestversion: (1.0.0)description: 这是我的测试包entry point: (index.js)test command:git repository:keywords:生成信息{ "name": "mytest", "version": "1.0.0", "description": "这是我的测试包", "main": "index.js", "dependencies": {}, "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC"}npm publish如果无法发布说明该包名字被其他人占有跟新后发布据需要重新发布npm update 包名
express模块
安装 cnpm install express
express模块响应请求
const express=require('express');var server=express();server.use('/', function (req.res){ console.log('use了');});server.listen(8080);
express中res req
非侵入式 增强req原生:res.write();res.end();express:*res.send();res.write();res.end();send可以发送 json对象res.send({a:11,b:12})
express中处理get与post
//server.get('/', function (){//console.log('有GET');//});//server.post('/', function (){//console.log('有POST');//});
express中使用express-static中间件
server.use(expressStatic('./www'));
express综合练习
const express=require('express');const expressStatic=require('express-static');var server=express();server.listen(8080);//用户数据var users={ 'blue': '123456', 'zhangsan': '654321', 'lisi': '987987'};server.get('/login', function (req, res){ 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: '成功'}); } }});server.use(expressStatic('./www'));
express 获取get参数
const express=require('express');var server=express();server.listen(8080);//GET、POSTserver.use('/', function (req, res){ console.log(req.query); //GET});
express获取post参数
const express=require('express');const bodyParser=require('body-parser');var server=express();server.listen(8080);server.use(bodyParser.urlencoded({ extended: false, //扩展模式 limit: 2*1024*1024 //限制-2M 默认100k}));server.use('/', function (req, res){ console.log(req.body); //POST});//req.query GET//req.body POST
链式操作
const express=require('express');const bodyParser=require('body-parser');var server=express();server.listen(8080);server.use('/', function (req, res, next){ console.log('a'); next();});server.use('/', function (req, res, next){ console.log('b');});
自己编写中间件模块
const express=require('express');const querystring=require('querystring');const bodyParser=require('body-parser');var server=express();server.listen(8080);/*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);});
中间模块封装
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!