nodejs的学习和一些命令
来源:互联网 发布:乐多捕鱼源码 编辑:程序博客网 时间:2024/06/03 21:14
nodejs的基础模块学习
创建基础服务
// 导入http模块var http = require('http');// 导入 url模块var url = require('url');// 创建服务var server = http.createServer();// 给server绑定请求事件server.on('request',function(req,res){ res.setHeader('content-type','text/html;charset=utf-8'); res.end('hello world 你好世界!'); var urlStr = req.url; console.log(urlStr); var urlObj = url.parse(urlStr,true); // 第二个参数填true的话 会自动帮我们把url的相关信息转换成对象 console.log(urlObj); console.log(urlObj.query.name +'---------' + urlObj.query.age);}) ; // 开启服务,监听端口server.listen(8899,'127.0.0.1',function(err){ if(err){ console.log(err); } console.info('start success 成功');})
querystring处理get方式数据
// 导入模块const http = require('http');const url = require('url');const querystring = require('querystring');// 创建服务const server = http.createServer();server.on('request', (req, res) => { const urlString = req.url; if (!urlString.includes('ico')) { // const urlObj = url.parse(urlString, true).query; const urlObj = url.parse(urlString); const paramsObj = querystring.parse(urlObj.query); console.info(paramsObj); res.setHeader('content-type', 'text/plain;charset=utf8') res.end('响应成功') }})// 开启服务 监听端口server.listen('3000', '127.0.0.1');
querystring模块处理get请求的数据
// 导入模块const http = require('http');const url = require('url');const querystring = require('querystring');// 创建服务const server = http.createServer();server.on('request', (req, res) => { const urlString = req.url; if (!urlString.includes('ico')) { // const urlObj = url.parse(urlString, true).query; const urlObj = url.parse(urlString); const paramsObj = querystring.parse(urlObj.query); console.info(paramsObj); res.setHeader('content-type', 'text/plain;charset=utf8') res.end('响应成功') }})// 开启服务 监听端口server.listen('3000', '127.0.0.1');
querystring模块处理post请求的数据
const http = require('http');const querystring = require('querystring');const server = http.createServer();// 创建服务server.on('request',(req,res)=>{ // 服务端获取post方法传过来的数据 // 当数据量较大时,该方法可能会被调用多次,因此我们申明一个变量把每次传过来的数据拼接起来 let body = ''; req.on('data',(chunk) =>{ body += chunk; }) // 等所有数据发送完后,再把字符串parse成对象 // res.setheader('content-type','text/plain;charset=utf8'); req.on('end',()=>{ const params = querystring.parse(body); console.info(params); }) res.end('响应成功')})// 开启服务,监听端口server.listen('3000','127.0.0.1',(err)=>{ if(err){ console.info(err); } console.log('ok');});
path模块和fs模块的使用(主要用来操作文件和问价夹)
// 导入模块var http = require('http');var path = require('path');var fs = require('fs');判断文件是否存在fs.exists(path.join(__dirname,'aaa'),(exists)=>{ if(exists){ console.log("已经存在"); }else{ fs.mkdir(path.join(__dirname,'aaa'),(err)=>{ if(err){ console.log(err); } console.log('mkdir ok'); }); }})// // 给文件或文件重命名fs.exists(path.join(__dirname),(exists)=>{ if(exists){ fs.rename(path.join(__dirname,'aaa'),path.join(__dirname,'bbb'),()=>{ if(err){ console.log(err); } console.log('重命名成功'); }); }else{ console.log('文件不存在'); }})// 删除文件fs.exists(path.join(__dirname,'bbb'),(exists)=>{ if(exists){ fs.rmdir(path.join(__dirname,'bbb'),(err)=>{ if(err){ console.log(err); } console.log('删除成功'); }) }else{ console.log('文件不存在'); }})// 监控文件fs.watchFile(path.join(__dirname,'aaa.txt'),(curr,prev)=>{ console.log(`the surrent mtime is : ${curr.mtime}`); console.log(`the previous mtime is : ${prev.mtime}`);})
npm的一些命名使用
npmjs.com 类似于github 有很多开源的第三方包和项目, node_modules 是不会上传到git上去
npm -nint -y 在项目根目录默认生成 package.json配置 (name不能是中文,第一个字母不能大写)
npm xxx –save 和 npm xxx –save -dev的区别
npm xxx --save 生产阶段 (代码上线还需要用到这个包就用 --save)npm xxx --save -dev 开发阶段(代码上线后,不需要用到的包 比如gulp等构建工具 );
node i nodemon -g (全局) 一个自动更新你修改后的文件的第三方包
本地包 和全局包的区别 都要使用npm i 进行安装本地包: node i xxx --save/ --save -dev 安装在项目的node_module中全局包: node i xxx -g 安装在node的安装目录或是个人目录 > AppData > Roaming > npm 使用场景: 本地包是用在项目中的,为我们项目服务的 全局包: 在终端中使用,执行一些指令的
上传自定义模块到npmjs官网
1. npm adduser 会提示让你输入用户名密码和邮箱 (在任何终端里面输入密码都没有提示)2. npm publish 发布3. 升级. 改了代码后,一定要把版本号递增(不能减少)
i18n 国际化语言切换控制的第三方包 (靠路由控制实现切换的)
使用淘宝cnpm 镜像
前提 : 安装nrm包 npm i nrm -gnrm ls 看当前有哪些镜像可用nrm use +镜像名称 (切换镜像)
packag.json配置介绍
{ "name": "myaddcalc", //包的名称,引用时require(myaddcalc) "version": "1.0.0", //版本 "description": "这是一段描述内容", //描述 "main": "./lib/add.js", // 入口js文件 (你写好的主要功能的js) "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ // 关键字 "加法", "描述" ], "author": "Monster", //作者 "license": "ISC"}
阅读全文
0 0
- nodejs的学习和一些命令
- NodeJS的一些个人学习笔记
- 总结学习nodejs遇见的一些错误
- nodejs的一些理解
- nodejs的一些说明
- 文件、目录和用户相关的一些shell命令学习
- Nodejs学习中一些javascript特性的总结
- nodejs学习过程中遇到的一些难点整理
- 学习git的一些命令
- nodejs的一些问题理解
- nodejs的一些核心概念
- nodejs留言板的一些总结
- NodeJS 的一些小细节
- nodejs升级npm的命令
- nodejs常用的几个命令
- 学习笔记 (Linux和mysql的一些命令和总结) [第十课]
- nodejs学习笔记(一)——nodejs的安装和启动第一个httpserver
- Linux学习(1)----一些简单的命令
- sshkey加密
- Selenium Web 自动化
- webpack-dev-server: command not found (命令未找到)
- 最简ARM LINUX USB 驱动
- Windows10安装MySQL
- nodejs的学习和一些命令
- C语言数据类型32位和64位不同
- js中的css操作
- 杭电2925
- CCAI2017中国人工智能大会
- K
- caffe中的数据结构解析
- Selenium Web 自动化框架
- 二叉树一些总结