Node.js Blog System
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

37 lines
909 B

  1. const express = require("express");
  2. const mongoose = require("mongoose");
  3. const Article = require("./models/article");
  4. const articleRouter = require("./routes/articles");
  5. const methodOverride = require("method-override");
  6. const app = express();
  7. const config = require("./config");
  8. db = config.database;
  9. mongoose.connect(
  10. db.url,
  11. {
  12. useNewUrlParser: true,
  13. useUnifiedTopology: true,
  14. useCreateIndex: true,
  15. }
  16. );
  17. app.set("view engine", "ejs");
  18. app.use(express.urlencoded({ extended: false }));
  19. app.use("/blog/articles", articleRouter);
  20. app.use(methodOverride("_method"));
  21. app.get("/blog", async (req, res) => {
  22. const articles = await Article.find().sort({ createdAt: "desc" });
  23. res.render("articles/index", { articles: articles });
  24. });
  25. app.get("/", (req, res) => {
  26. res.render("apps");
  27. });
  28. app.use("/", express.static(__dirname + "/public"));
  29. app.listen(5000);