nextjs mongodb app
v2.0.0
Next.js和MongoDB Web应用程序,设计简单,以学习和现实世界的适用性。
查看演示
?快速而轻,没有笨重的慢速express.js。
完整的API路线实现和?无服务器准备
?良好的中间件模式,与Express生态系统兼容,由下一连接提供支持
?吻:没有诸如GraphQl,Sass,Redux等的花哨的东西。✍️带有解释性博客文章
?除了MongoDB以外
具有您感兴趣的任何功能,提出问题。想从事功能,制作公关。
该项目伴随以下文章:
还可以在Dev.To上检查它们。
尽管该项目被编写为安全,但其简单性需要仔细考虑敏感制作中的使用。如果发现任何安全问题,请提出问题。
该项目使用以下依赖关系:
next.js -v9.3或更高。react -V16.8或更高版本的React钩子。react-dom -V16.8或更高。swr react-query管理所需mongodb可以用mongoose代替。passport , passport-local - 身份验证所必需的。next-connect建议使用Express/Connect Middleware和更轻松的方法路由。next-session connect-mongo - 会议所必需的,可以被其他会议图书馆取代,例如cookie-session , next-iron-session或express-session (观察到express-session不能在Next.js 11+上正常工作)。bcryptjs可选的,可以用任何密码用库替换。 argon2推荐。validator - 可选但建议,以验证电子邮件。ajv可选但建议,以验证请求主体。multer可以用任何处理multipart/form-data的中间件代替cloudinary - 可选,仅当您使用云进行图像上传时。nodemailer可选,仅当您将其用于电子邮件时。建议使用Mailgun,AWS SES等第三方服务。该项目中的环境变量包括:
MONGODB_URI mongodb连接字符串(带有凭据和数据库名称)WEB_URI您的Web应用程序的URL 。CLOUDINARY_URL (仅可选,仅云)云环境变量用于配置。看到这个。NODEMAILER_CONFIG (如果仅使用NodeMailer,则可选)JSON Stringified NodeMailer Config。例如。 {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}}通过运行yarn dev或npm run dev启动开发服务器。通过创建一个带有上述变量的.env.local文件入门。请参阅环境变量。
可以部署此项目。JS可以部署。确保使用云/托管提供商提供的选项设置环境变量。
使用npm run build构建后,只需使用npm run start服务器。
您也可以使用无服务器提供商进行正确的设置部署此功能。
请参阅我的贡献。
麻省理工学院