Javascript 在节点中点击我的获取url时获取404
我是一个新的节点,所以在这里看到一些代码后有点困惑下面的一些例子 简单地说,我只是想添加一些API到这个现有的项目,但由于某些原因,它得到404错误 这里是app.jsJavascript 在节点中点击我的获取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
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;
那
谢谢你,博洛拉!我当然知道!