最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

NODE.JS配置serverindex.js从服务器位置运行

IT培训 admin 14浏览 0评论

NODE.JS配置server / index.js从服务器位置运行

我有一个React NODE.JS应用程序,我希望将其配置为从代理服务器上的服务器位置运行。我找到了一些与此相关的教程,这些教程建议在app.use.express行中添加位置:

位置必须为/

app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

但是,此后未加载任何内容,请求仍将转到初始URL。

这是我的sever / index.js文件:

const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const config = require("./config/configProvider")();
const passport = require("passport");
const sequelize = require("sequelize");
const DataTypes = sequelize.DataTypes;
const Types = require("./models/types")(sequelize, DataTypes);
const { find } = require("./middlewares/mysql");
const path = require("path");
const { errorHandler } = require("./middlewares/generics");
const app = express();

app.use(cors());

config.db
  .authenticate()
  .then(() => {
    console.log("Connection has been established successfully.");
  })
  .catch((err) => {
    console.error("Unable to connect to the database:", err);
  });

app.use(bodyParser.json({ limit: "50mb", extended: true }));

// uncommment below code for static front end development version to work properly
// app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

//initialize passport to have it available on server
app.use(passport.initialize());
app.use(passport.session());

app.use("/users", require("./controllers/users"));

require("./passport");
app.use(passport.authenticate("jwt", { failureRedirect: "/" }));

app.use("/usersPrivate", require("./controllers/usersPrivate"));
app.use("/schedule", require("./controllers/schedule"));
app.use("/types", find(Types));

app.use(errorHandler);

// Start the server
const port = process.env.PORT || 5000;
app
  .listen(port, "0.0.0.0", () => {
    console.log(`Server listening on: ${port}`);
  })
  .on("error", (error) => {
    console.error(`Error starting server: ${error}.`);
    restart();
  });

const restart = (code = 1) => {
  console.log(`Restarting services in 10 seconds.`);
  setTimeout(() => {
    process.exit(code);
  }, 10000);
};

我是否需要进行其他修改才能使其正常工作?

我正在使用Express的4.17.1版本。

非常感谢!

回答如下:

您尚未在server/index中使用此行代码:

app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

NODE.JS配置server / index.js从服务器位置运行

我有一个React NODE.JS应用程序,我希望将其配置为从代理服务器上的服务器位置运行。我找到了一些与此相关的教程,这些教程建议在app.use.express行中添加位置:

位置必须为/

app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

但是,此后未加载任何内容,请求仍将转到初始URL。

这是我的sever / index.js文件:

const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const config = require("./config/configProvider")();
const passport = require("passport");
const sequelize = require("sequelize");
const DataTypes = sequelize.DataTypes;
const Types = require("./models/types")(sequelize, DataTypes);
const { find } = require("./middlewares/mysql");
const path = require("path");
const { errorHandler } = require("./middlewares/generics");
const app = express();

app.use(cors());

config.db
  .authenticate()
  .then(() => {
    console.log("Connection has been established successfully.");
  })
  .catch((err) => {
    console.error("Unable to connect to the database:", err);
  });

app.use(bodyParser.json({ limit: "50mb", extended: true }));

// uncommment below code for static front end development version to work properly
// app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

//initialize passport to have it available on server
app.use(passport.initialize());
app.use(passport.session());

app.use("/users", require("./controllers/users"));

require("./passport");
app.use(passport.authenticate("jwt", { failureRedirect: "/" }));

app.use("/usersPrivate", require("./controllers/usersPrivate"));
app.use("/schedule", require("./controllers/schedule"));
app.use("/types", find(Types));

app.use(errorHandler);

// Start the server
const port = process.env.PORT || 5000;
app
  .listen(port, "0.0.0.0", () => {
    console.log(`Server listening on: ${port}`);
  })
  .on("error", (error) => {
    console.error(`Error starting server: ${error}.`);
    restart();
  });

const restart = (code = 1) => {
  console.log(`Restarting services in 10 seconds.`);
  setTimeout(() => {
    process.exit(code);
  }, 10000);
};

我是否需要进行其他修改才能使其正常工作?

我正在使用Express的4.17.1版本。

非常感谢!

回答如下:

您尚未在server/index中使用此行代码:

app.use("/npt/", express.static(path.resolve(__dirname, "../client/build")));

发布评论

评论列表 (0)

  1. 暂无评论