티스토리 뷰
Frontend
• Redux + TypeScript template
npx create-react-app my-app --template redux-typescript
※ 참고: Redux Toolkit
Backend
• 회원가입& 로그인 만들기도 같이 진행.
• backend도 yarn으로 실행!!
yarn add @types/express @types/node nodemon ts-node typescript --dev
yarn add express
몽고DB 설치하기 는 여기 참조
• mongoose 설치
npm i express mongoose morgan nodemon
프로젝트 구조.
---------------------------------------------------------------------------------------------------------
.env
MONGODB_URI = "mongodb://127.0.0.1:27017/mongodb"
MONGODB=jllgshllWEUJHGHYJkjsfjds90
JWT_KEY=secret
---------------------------------------------------------------------------------------------------------
nodemon.json
{
"watch": [
"src",
".env"
],
"ext": "js,ts,json",
"ignore": [
"src/**/*.spec.ts"
],
"exec": "ts-node --transpile-only ./src/server.ts"
}
---------------------------------------------------------------------------------------------------------
Package.json
{
"name": "ts-express",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"@types/express": "^4.17.13",
"@types/node": "^16.11.7",
"nodemon": "^2.0.15",
"ts-node": "^10.4.0",
"typescript": "^4.4.4"
},
"dependencies": {
"body-parser": "^1.19.0",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"express-validator": "^6.13.0",
"http": "0.0.1-security",
"jsonwebtoken": "^8.5.1",
"jwt": "^0.2.0",
"mongoose": "^6.0.13",
"morgan": "^1.10.0",
"validator": "^13.7.0"
},
"scripts": {
"prestart": "tsc",
"start": "nodemon --exec ts-node dist/www.js"
},
"keywords": [],
"author": "",
"description": ""
}
---------------------------------------------------------------------------------------------------------
tsconfig.json
{
"compilerOptions": {
"target": "ES6",
"module": "CommonJS",
"outDir": "./dist",
"esModuleInterop": true
},
"include": [
"src/**/*.js",
"src/**/*.ts",
"src/**/*.tsx"
],
"exclude": ["node_modules", "**/*.spec.ts"]
}
---------------------------------------------------------------------------------------------------------
server.ts
import UserRouter from "./api/route/UserRouter";
import connectDB from "./Loaders/db";
connectDB();
const express = require("express");
const cors = require("cors");
const app = express();
app.use(cors()); // CORS 미들웨어 등록
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.use(UserRouter); //라우터
app.set("port", 3001);
app
.listen(app.get("port"), () => {
console.log(`${app.get("port")} server is Running`);
})
.on("error", (err) => {
console.log(`Error message ${err}`);
});
---------------------------------------------------------------------------------------------------------
Loaders
db.ts
Mongoose 버전확인 === npm list mongoose
mongoose버전이 6.0이상이라면 mongoose는 항상
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false, 로 기억하고 실행하기 때문에 더이상 지원하지 않는다는 이야기이다.
그래서 그냥 코드 지우면 됩니당
이렇게!
import mongoose from "mongoose";
import config from "../config";
const connectDB = async () => {
try {
await mongoose.connect(config.mongoURI);
console.log("Mongoose Connected ...");
} catch (err) {
console.error(err.message);
process.exit(1);
}
};
export default connectDB;
---------------------------------------------------------------------------------------------------------
그 외에 이슈는 없음.
나머지 회원가입 로그인 코드는.. https://iot624.tistory.com/159?category=1001197 참고….
'3. 스크립트' 카테고리의 다른 글
먼스택/2021-12-/마드리드/ Hello World 출력하는 server.js (0) | 2021.12.01 |
---|---|
JS/리액트/2021-11-25/ HomeScreen.js , LinkScreen.js (0) | 2021.11.25 |
리액트/2021--/마드리드/ Redux useForm() 활용한 무상태 프로그래밍 (0) | 2021.10.30 |
JS/리액트/2021-10-23/ User CRUD (0) | 2021.10.23 |
JS/리액트/2021-10-04/ React-Redux 템플릿 한방에 설치하기 (0) | 2021.10.04 |
- Total
- Today
- Yesterday
- KAFKA
- Mongo
- nodejs
- database
- terms
- JUnit
- Eclipse
- docker
- SQLAlchemy
- mariadb
- springMVC
- Java
- jQuery
- React
- Python
- vscode
- FLASK
- COLAB
- ERD
- Mlearn
- maven
- tensorflow
- AWS
- JPA
- Django
- Oracle
- intellij
- Algorithm
- Git
- SpringBoot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |