MERN Part-6.1을 사용하는 ECOMMERCE 웹 사이트 ( 인증 { 설정 } )
이 블로그에서는 userModel , userController 및 userRoutes 를 만들어 사용자를 설정합니다. 이 블로그는 길지만 우리 제품과 거의 같기 때문에 매우 간단합니다.
1단계 필요한 의존성 설치하기
터미널을 열고 다음 종속성을 설치하십시오.
글로
npm i bcryptjs jsonwebtoken validator nodemailer cookie-parser body-parser
.Step-2 설치 후
userModel
폴더 안에 userModel.js
라는 파일을 만들어 models
를 만듭니다.사용자 모델의 코드는 다음과 같습니다. 이해가 안되는 부분이 있다면 댓글로 알려주세요 :)
const mongoose = require("mongoose");
const validator = require("validator");
const userSchema = new mongoose.Schema({
name: {
type: String,
required: [true, "Please Enter Your Name"],
maxLength: [30, "Name cannot exceed 30 characters"],
minLength: [4, "Name should have more than 4 characters"],
},
email: {
type: String,
required: [true, "Please Enter Your Email"],
unique: true,
validate: [validator.isEmail, "Please Enter a valid Email"],
},
password: {
type: String,
required: [true, "Please Enter Your Password"],
minLength: [8, "Password should be greater than 8 characters"],
select: false,
},
avatar: {
public_id: {
type: String,
required: true,
},
url: {
type: String,
required: true,
},
},
role: {
type: String,
default: "user",
},
createdAt: {
type: Date,
default: Date.now,
},
resetPasswordToken: String,
resetPasswordExpire: Date,
});
module.exports = mongoose.model("User", userSchema);
3 단계
registerUser
폴더 안에 userController.js
라는 새 파일에서 controllers
기능을 만들 수 있습니다.const ErrorHandler = require("../utils/errorHandler");
const catchAsyncErrors = require("../middleware/catchAsyncErrors");
const User = require("../models/userModel");
// Register User
exports.registerUser = catchAsyncErrors(async (req, res, next) => {
const { name, email, password } = req.body;
const user = await User.create({
name,
email,
password,
avatar: {
public_id: "This is a sample id",
url: "profile pic url",
},
});
res.status(201).json({
success: true,
user,
});
});
여기서 우리는
model
뿐만 아니라 ErrorHandlers
를 가져옵니다.그리고 함수 내에서 우리는
destructured
우리의 req.body
를 추출하고 name
, email
& password
를 추출하고 create({})
를 사용하여 사용자를 생성합니다. avatar
프론트엔드를 하면서.Step-4 이제 route 폴더 안에
cloudinary
를 만들고 다음 코드를 작성해 보겠습니다.const express = require("express");
const router = express.Router();
const { registerUser } = require("../controllers/userController");
router.route("/register").post(registerUser);
module.exports = router;
그 설명은 매우 간단합니다. 방금
userRoutes.js
를 가져오고 express
를 호출한 다음 Router()
에서 /register
함수를 사용하여 경로registerUser
를 만들었습니다.5단계 이제 이 라우터를 사용하기 위해
userController
파일 안에 다음 코드를 작성합니다.1.
app.js
2. const userRoutes = require("./routes/userRoutes)
우리
app.use("/api/v1", userRoutes)
는 다음과 같이 보일 것입니다.이렇게 기본 설정이 완료되었습니다.
우리는
app.js
가 될 것입니다 encrypting
Reference
이 문제에 관하여(MERN Part-6.1을 사용하는 ECOMMERCE 웹 사이트 ( 인증 { 설정 } )), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bikramjeetsarmah/ecommerce-website-using-mern-part-61-authentication-setup--3nbd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)