一、模块化
模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。
提高了代码的复用性
提高了代码的可维护性
可以实现按需加载
const objs = require(“./day05-1.js”);
console.log(objs);
在每个 .js 自定义模块中都有一个 module 对象,它里面存储了和当前模块有关的信息
console.log(module);
使用module.exports向外共享成员(导出)
module.exports.变量名称或者module.exports = {值}优先级最高
exports.变量名称,exports={}不可以使用
require(“自定义模块”);导入
注意:为了防止混乱,建议大家不要在同一个模块中同时使用 exports 和 module.exports
安装第三方模块
使用简写形式npm i 包名称 moment moment@2.22.2
npm install 包名称
const data = require("moment");
console.log(data());
let dataTime = 31112932183;
const time = data(dataTime).format("YYYY-MM-DD HH:mm:ss")
console.log(time);
安装包的版本含义
第1位数字:大版本
第2位数字:功能版本
第3位数字:Bug修复版本
npm init -y创建一个package.json配置文件
npm i
读取package.json中dependencies安装所有的第三方模块
"name": "node",
作者名称
"version": "1.0.0",
项目版本号
"description": "",
项目类型
"main": "day01.js",
项目运行命令
跟换镜像
1 查看当前的下包镜像源
npm config get registry
2 将下包的镜像源切换为淘宝镜像源
npm config set registry=https://registry.npm.taobao.org/
二、
const moments = require("./day06-1.js");
console.log(moments(2376173671263).formats("YY-MM-DD HH:mm:ss"));
console.log(moments().formats("YY-MM-DD HH:mm:ss"));
安装nrm npm i nrm -g 安装全局
nrm可以快速切换淘宝镜像
nrm ls查看
nrm taobao切换镜像
卸载nrm npm uninstall nrm -g 卸载全局nrm
https://www.npmjs.org
devDependencies 开发模式依赖包 npm i 包名 -D
dependencies 线上模式依赖包 npm i 包名
npm i -g i5ting_toc
i5ting_toc -f 路径 -o
npm config get registry查询当前镜像
npm config set registry="https://registry.npmjs.org/"修改为npm镜像
如果输入账号密码时间过长会报403
npm login 登录—账号,密码,邮箱,验证码
切换到当前包的根目录
npm publish提交包
npm unpublish 包名 --force 命令,即可从 npm 删除已发布的包
const momentss = require("wqboss-momet");
console.log(momentss().formats("YY-MM-DD HH:mm:ss"));
console.log(momentss(12312312312311).formats("YY-MM-DD HH:mm:ss"));
三、
const http = require("http");
const server = http.createServer();
server.on("request",(req,res)=>{
console.log(req.method);
res.setHeader("Content-Type","text/html;charset=utf-8");
res.end("恭喜你访问我成功")
})
server.listen(80,()=>{
console.log("服务已开启");
})
解决跨域问题使用cors中间件
1.npm i cors
2.导入cors
3.app.use(cors())配置中间件
const express = require("express");
const cors = require("cors");
const app = express();
app.use(cors())
app.get(“url”,(req,res)=>{})
res.send()向客户端发送内容
req.query 对象,可以访问到客户端URL 中携带的查询参数
req.params可以访问到 URL 中,通过 : 匹配到的动态参数:
app.get("/",(req,res)=>{
// res.setHeader("Content-Type","text/html;charset=utf-8");
// res.end("get访问首页成功");
res.send("get访问首页成功");
})
app.get("/index/:id",(req,res)=>{
res.setHeader("Content-Type","text/html;charset=utf-8");
res.end("get访问/index成功");
console.log(req.query);
let obj = req.query
if(obj.userName=="admin" && obj.passWord=="123123"){
res.send("登录成功");
}else{
res.send("请输入正确的账号密码");
}
console.log(req.params);
res.send("登录成功");
})
app.post("url",(req,res)=>{})
app.post("/index",(req,res)=>{
// res.setHeader("Content-Type","text/html;charset=utf-8");
// res.end("post访问/index成功");
//console.log(req.query);
console.log(req.body);
res.send("post访问/index成功");
})
app.listen(81,()=>{
console.log("express服务启动成功");
})