Javascript 在节点中点击我的获取url时获取404

Javascript 在节点中点击我的获取url时获取404,javascript,node.js,express,Javascript,Node.js,Express,我是一个新的节点,所以在这里看到一些代码后有点困惑下面的一些例子 简单地说,我只是想添加一些API到这个现有的项目,但由于某些原因,它得到404错误 这里是app.js var createError = require("http-errors"); var express = require("express"); var path = require("path"); var cookieParser = require(&quo

我是一个新的节点,所以在这里看到一些代码后有点困惑下面的一些例子

简单地说,我只是想添加一些API到这个现有的项目,但由于某些原因,它得到404错误

这里是app.js

var createError = require("http-errors");
var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
var cors = require("cors");
var config = require("./config.config");
var mongoose = require("mongoose");
const fileUpload = require("express-fileupload");
var fs = require("fs");

var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");

var app = express();

mongoose.connect(config.databaseUrl, (error, result) => {
  if (error) {
    console.error(" database connectivity ", error);
  } else {
    console.log(" database connect successfully");
  }
});

if (!fs.existsSync("./app/attachments/")) {
  fs.mkdirSync("./app/attachments/");
  fs.mkdirSync("./app/attachments/task");
  fs.mkdirSync("./app/attachments/product");
  fs.mkdirSync("./app/attachments/companyicon");
} else {
  if (!fs.existsSync("./app/attachments/product"))
    fs.mkdirSync("./app/attachments/product");
    
  if (!fs.existsSync("./app/attachments/companyicon"))
    fs.mkdirSync("./app/attachments/companyicon");
}
if (!fs.existsSync("./app/pdf")) fs.mkdirSync("./app/pdf");
// view engine setup
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "jade");
app.use(
  fileUpload({
    limits: { fileSize: 200 * 1024 * 1024 },
  })
);
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "app")));
app.use(cors());

app.use("/", indexRouter);
app.use("/users", usersRouter);

// app.get('/api/invoice/invoice', function(req, res, next) {
//   res.send({ message: "Working!", status: true });
// });

require("./app/router/user.router")(app);
require("./app/router/project.router")(app);
require("./app/router/contactCategoery.router")(app);
require("./app/router/productCategoery.router")(app);
require("./app/router/client.router")(app);
require("./app/router/projectStatus.router")(app);
require("./app/router/clientBrief.router")(app);
require("./app/router/invoice.router")(app); /// Here i added the invoice router >>>>>>>>>>>>>


// catch 404 and forward to error handler
app.use(function (req, res, next) {
  console.log('first', req);
  next(createError(404));
});

// error handler
app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get("env") === "development" ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render("error");
});

module.exports = app;

app.listen(config.port, (req, res) => {
  console.log("server start at " + config.port);
});

这里是invoice.router.js

module.exports = (app ,http) => {
    var invoice = require("../controller/invoice.controller");

    app.post("./api/invoice/invoice", invoice.create);
    app.get("./api/invoice/invoice", invoice.fetch);
}
const { Router } = require("express");
const router = Router();

const invoice = require("../controller/invoice.controller");


app.post("/", invoice.create);
app.get("./", invoice.fetch);



module.exports = router;
这里是invoice.controller.js

exports.create = (req, res, next) => {
    res.send({ message: "Working!", status: true });
}


exports.fetch = (req, res, next) => {
    console.log('now >>>>>>');
    res.send({ message: "Working!", status: true });
}

这里是config.js

var url = 'http://hosturl.com';
var port = "8001";
var databaseUrl = "mongodb://localhost:27017/<dbname>";
var username = "<user>";
var password = "<password>";



module.exports = {
  // url: url,
  port: port,
  databaseUrl: databaseUrl,
  username: username,
  password: password,
  PaytmConfig: PaytmConfig,
  price: price,
  smsgateway: smsgateway,
  nodemailer: nodemailer,
  ProjectStates: ProjectStage,
  ClientBriefQuestions: ClientBriefQuestions,
  DesignStyle: DesignStyle,
  ContactCategoery: ContactCategoery,
  SpendCategories: SpendCategories,
  Column: Column,
  sms: sms,
};

var url='1〕http://hosturl.com';
var port=“8001”;
var数据库URL=”mongodb://localhost:27017/";
var username=“”;
var password=“”;
module.exports={
//url:url,
港口:港口,,
databaseUrl:databaseUrl,
用户名:用户名,
密码:密码,
PaytmConfig:PaytmConfig,
价格:价格,
smsgateway:smsgateway,
nodeEmailer:nodeEmailer,
ProjectState:ProjectStage,
ClientBriefQuestions:ClientBriefQuestions,
设计风格:设计风格,
ContactCategory:ContactCategory,
支出类别:支出类别,
专栏:专栏,
短信:短信,,
};
在请求其他API时,获取工作正常的API,但在请求


http://localhost:8001/api/invoice/invoice
404正在工作,请帮忙

基本路径不正确,应该是:

app.post("/api/invoice/invoice", invoice.create);
app.get("/api/invoice/invoice", invoice.fetch);

将您的发票文件编辑到此位置

module.exports = (app ,http) => { var invoice = require("../controller/invoice.controller"); app.post("/api/invoice/invoice", invoice.create); app.get("/api/invoice/invoice", invoice.fetch); } module.exports=(应用程序,http)=>{ var发票=要求(“../controller/invoice.controller”); app.post(“/api/invoice/invoice”,invoice.create); app.get(“/api/invoice/invoice”,invoice.fetch); } 让我们从这里开始

app.js

const express = require("express");
const app = express();

const createError = require("http-errors");
const path = require("path");
const cookieParser = require("cookie-parser");
const logger = require("morgan");
const cors = require("cors");
const config = require("./config.config");
const fileUpload = require("express-fileupload");
const fs = require("fs");

const mongoose = require("mongoose");


  //db connection
mongoose.connect(
    config.databaseUrl,
    { useNewUrlParser: true,
      useUnifiedTopology: true, 
      useCreateIndex: true, 
      useFindAndModify: false 
    }).then( () => {
      console.log("database connect successfully")
  }).catch( err => {
      console.log("ERROR CONNECTING ", err)
  })



if (!fs.existsSync("./app/attachments/")) {
  fs.mkdirSync("./app/attachments/");
  fs.mkdirSync("./app/attachments/task");
  fs.mkdirSync("./app/attachments/product");
  fs.mkdirSync("./app/attachments/companyicon");
} else {
  if (!fs.existsSync("./app/attachments/product"))
    fs.mkdirSync("./app/attachments/product");
    
  if (!fs.existsSync("./app/attachments/companyicon"))
    fs.mkdirSync("./app/attachments/companyicon");
}
if (!fs.existsSync("./app/pdf")) fs.mkdirSync("./app/pdf");
// view engine setup
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "jade");
app.use(
  fileUpload({
    limits: { fileSize: 200 * 1024 * 1024 },
  })
);
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "app")));
app.use(cors());



// app.get('/api/invoice/invoice', function(req, res, next) {
//   res.send({ message: "Working!", status: true });
// });


// import app routes
const indexRouter = require("./routes/index");
const usersRouter = require("./routes/users");
const invoice = require("./router/invoice.router"); /// Here i added the invoice router >>>>>>>>>>>>>


require("./app/router/user.router")(app);
require("./app/router/project.router")(app);
require("./app/router/contactCategoery.router")(app);
require("./app/router/productCategoery.router")(app);
require("./app/router/client.router")(app);
require("./app/router/projectStatus.router")(app);
require("./app/router/clientBrief.router")(app);


// app routes
app.use("/", indexRouter);
app.use("/users", usersRouter);
app.use("/api/invoice/invoice", invoice);


// catch 404 and forward to error handler
app.use(function (req, res, next) {
  console.log('first', req);
  next(createError(404));
});

// error handler
app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get("env") === "development" ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render("error");
});

module.exports = app;

app.listen(config.port, (req, res) => {
  console.log("server start at " + config.port);
});
这里是invoice.router.js

module.exports = (app ,http) => {
    var invoice = require("../controller/invoice.controller");

    app.post("./api/invoice/invoice", invoice.create);
    app.get("./api/invoice/invoice", invoice.fetch);
}
const { Router } = require("express");
const router = Router();

const invoice = require("../controller/invoice.controller");


app.post("/", invoice.create);
app.get("./", invoice.fetch);



module.exports = router;

谢谢你,博洛拉!我当然知道!