繁体   English   中英

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

[英]NODE.JS configure server/index.js to run from server location

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

位置需要是http://dev.apps.net/npt/

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

但是,此后没有加载任何内容,请求仍将发送到初始 url。

这是我的服务器/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")));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM