TypeScript-MongoDB-CRUD基础后台项目
TypeScript 写后端,其实没你想的那么麻烦。
typescript-mongodb-crud就是个上手挺快的小项目,用Node.js、MongoDB和TypeScript搭了个完整的 CRUD 后台。适合想练练手、摸清楚Mongoose数据建模流程的朋友。
项目里用的是TypeScript来管理类型,数据模型都清清楚楚的,出了错编译阶段就能发现,踩坑少多。你定义个接口、建个模型,前后端交互基本不需要猜数据结构。
Node.js负责起服务,接收求、转给路由、再调业务逻辑。express这种轻量框架和它配合得挺好,写接口也快。基本的GET、POST、PUT、DELETE操作全都有。
MongoDB用的是Mongoose来操作,数据建模写起来像写类一样直观。比如建个用户模型:
const UserSchema = new mongoose.Schema({
  name: String,
  age: Number
});项目结构也比较清晰,src下放模型、控制器、路由这些,tsconfig.json和package.json都配好了。用npm install装依赖,npm build编译,npm start一跑就能开整。
要说提醒的话,安全那块别忘了,比如用户输入校验、错误别偷懒,Mongo 连不上时也要记得加个兜底。你要想做个小练习项目或者教学 demo,这套挺合适。
你也可以看看类似项目:Node.js TypeScript MongoDB REST API 框架,或者这个比较基础的friendlist。
如果你准备用TypeScript撸后端,那不妨从这个项目练起,熟悉 Mongoose、掌握接口套路,以后写大项目也省事。
                            
                            typescript-mongodb-crud-master.zip
                            预估大小:20个文件
                        
                        
                        
                                
                                typescript-mongodb-crud-master
                                文件夹
                            
                                                        
                                
                                .gitignore
                                17B
                            
                                                        
                                
                                package.json
                                852B
                            
                                                        
                                
                                package-lock.json
                                125KB
                            
                                                        
                                
                                src
                                文件夹
                            
                                                        
                                
                                database.ts
                                290B
                            
                                                        
                                
                                models
                                文件夹
                            
                                                        
                                
                                Task.ts
                                306B
                            
                                                        
                                
                                public
                                文件夹
                            
                                                        
                                
                                css
                                文件夹
                            
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                            
                            
                                                        
                                        
                                    文件大小:185.92KB
                                
                                
                                
                            
评论区