Skip to content

node 组件库

刷新页面自动重启服务器

npm install nodemon

设置跨域

npm i cors@2.8.5

查看代码
js
// 导入 cors 中间件
const cors = require("cors");
// 将 cors 注册为全局中间件,允许跨域请求
app.use(cors());

// 设置指定域名访问
app.use(
  cors({
    origin: ["http://localhost:8080"],
  })
);

安装服务器

npm install express

文件上传

npm install multer

查看代码
js
const express = require("express");
const multer = require("multer");
const app = express();

app.all("*", function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header("Access-Control-Allow-Headers", ["mytoken", "Content-Type"]);
  next();
});

// 配置Multer以存储文件
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "image/"); // 确保这个文件夹存在
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + "-" + Date.now() + file.originalname); // 文件重命名
  },
});

const upload = multer({ storage: storage });

// 设置路由处理文件上传
app.post("/upload", upload.single("file"), function (req, res, next) {
  // 文件信息在req.file
  // 获取上传的文件名称
  const filename = req.file.filename;
  console.log(`http://localhost:3000/image/${filename}`);

  if (!req.file) {
    return res.status(400).send("上传失败!");
  }
  res.send("上传成功!");
});

app.listen(3000, () => {
  console.log("App listening on port 3000");
});

多文件上传:把 upload.single('file')换成 upload.array('file', 12)

jwt

npm install jsonwebtoken

查看代码
js
const jwt = require("jsonwebtoken");
// 加密
const tokenText = { name: "小张" };
const secret = "ZhangCode";
const token = jwt.sign(tokenText, secret, { expiresIn: 60 * 60 });
// 解密
jwt.verify(token, "ZhangCode", (err, data) => {
  if (err) console.log("失败");
  console.log("成功");
});

数据加密

npm i bcryptjs@2.4.3

查看代码
js
const bcrypt = require("bcryptjs");

// 对用户的密码,进行 bcrype 加密,返回值是加密之后的密码字符串
userinfo.password = bcrypt.hashSync(明文密码, 10);
// 拿着用户输入的密码,和数据库中存储的密码进行对比
const compareResult = bcrypt.compareSync(用户输入的密码, 数据库中加密的密码);

Copyright © 2024 xiaozhang.top