NodeJs
命令
- npm init -y 生成package.json文件
- npm i jquery --save–dev 开发依赖(jQuery后面还可以跟模块,可以有多个)
- npm i jquery --save 生产依赖
- npm i jquery --D 开发依赖
- npm uninstall jquery 卸载删除
- npm i 把删掉的模块,全部重新加载回来
1.介绍
1.什么是NodeJs?
基于Google 的v8引擎的Js运行环境runtime
简单理解:
- 就是把Google的图形化界面去掉,引用一些其他的模块
- NodeJS没有图形化界面
- NodeJS没有window对象,没有交互的窗口
- NodeJS有CLI(命令行界面)
NodeJS是一个开源,跨平台的JavaScript运行时环境
LTS(长期稳定版)下载地址的版本
官网:https://nodejs.org/zh-cn
2.模块化
ES6的module和CommonJS的5点主要区别?
- module是编译时导出的接口,CommonJS是运行时到处的对象
- module输出是值的引用 ,CommonJS输出是一个值的拷贝
- module的语法是静态的,CommonJS的语法是动态的
- module导入的模块是只读的引用,CommonJS导入的是可变的,是一个普通的变量
- module支持异步,CommonJS不支持异步
- ES6模块化是 import和export
- nodejs是require()和module.exports
- ES6模块化可以运行在浏览器端,也可以运行在node服务器
3.nodeJS的内置模块(http)
实现步骤
1.引入node.js里面内置的模块http
const http=require("http")
2.创建http服务
const serve=http.create(function(req,resp){
3.设置响应求头
resp.setHeader("Content-Type","text/html;charset=uft-8")
4.只接收get请求
if(req.method!="GET"){
resp.writer("我只接收get请求")
//断开
resp.end()
return
}
5.处理请求,返回结果
resp.write("响应完成")
resp.end()
})
6.设置监听端口
server.listen(8181.function(){
console.log("服务器启动成功")
})
4.引入外部的资源模块(第三方的库)
1.官网
2.列如二维码模块的引用
1.使用命令进行下载
npm i qrcode
2.下载完成,会多一个node_modules文件,里面有qrcode
3.在js文件中引入
const qrcode=require("qrcode")
//方法1
// qrcode.toDataURL("你好", function (err,url) {
// if (err) {
// return
// }
// console.log(url);
// })
//方法2
qrcode.toDataURL("哈哈哈哈").then(function (res) {
console.log(res);
}).catch(function (res) {
console.log(res);
})
4.会生成一个base64的图片链接,复制到浏览器就可以看到一个二维码了
5.热启动
-
安装nodemon开发工具,全局安装 -g
npm i -g nodemon
-
查看版本(出现了版本就是按照成功了)
nodemon -v
-
启动文件
nodemon 文件名
可以进行配置启动命令
-
使用npm init -y 生成一个package.json的文件
npm init -y
-
到文件里面添加一项 scripts
"start": "nodemon 文件名"
6.导入querystring模块(内置模块)
方法
- parse() 将字符串解析为对象
- stringify() 将对象解析为字符串
- unescape() 解码
- escape() 编码
const qs = require("querystring")
// stringify 把对象转换为字符串
var params = {
id: 1,
name: "刘德华",
age: 20,
sex: "男"
}
var str = qs.stringify(params)
// unescape 解码
console.log(qs.unescape(str));
//----------------params将字符串转换为对象-----------------
var str = "id=1&name=刘德华&age=20&sex=男"
var obj = qs.parse(str)
console.log(obj);
var str = "id=1|name=刘德华1|age=20|sex=男|hobby=男|hobby=美女"
console.log(qs.parse(str, "|", "="));
var params = {
id: 1,
name: "刘德华",
age: 20,
sex: "男"
}
console.log(qs.unescape(qs.stringify(params, "|", "=")));
7.arguments
arguments只出现在函数内部
nodejs 一个文件就是一个模块
并且它的外部有一个隐形的自执行函数,一个有五个参数
- arguments[1] == require
- arguments[2] == module
- arguments[3] == __filename
- arguments[4] == __dirname
- arguments[0] == {}
8.ajax与axios的区别
ajax是type的方式传递请求
axios是method方式传递请求
9.安装淘宝镜像
1.官网
https://npmmirror.com/
命名
npm install -g cnpm --registry=https://registry.npmmirror.com
安装完成后,使用下面命令下载,速度大大提高
cnpm install [模块名]
2.检查是否安装成功的命令
npm config get registry
出现下面结果就代表成功
在这里插入图片描述