“ENOENT:没有这样的文件或目录,stat '/opt/render/project/src/server/client/dist/index.html'”

问题描述 投票:0回答:1

在渲染中构建我的应用程序后,我遇到了这个问题。 “ENOENT:没有这样的文件或目录,stat '/opt/render/project/src/server/client/dist/index.html'”

我添加了“const __dirname = path.resolve();”在我的 index.js 中,但构建无法使用它,它说它是重复的。删除此文件后,构建已完成,但标题中出现此错误

下面是我的 server.js Express 应用程序和文件夹结构

const express = require('express');
const mongoose = require('mongoose');
const router = require('./routes/route');
require('dotenv').config();
const authRoute = require('./routes/authRoute');
const userRoute = require('./routes/userRoute');
const listingRoute = require('./routes/listingRoute');
const cookieParser = require('cookie-parser');
const path = require('path');

const app = express();
app.use(express.json());
app.use(router);
app.use(cookieParser());

const MONGO_URI = process.env.MONGO_URI;

mongoose
  .connect(MONGO_URI)
  .then(() => {
    console.log('Connected to MongoDB');
  })
  .catch((err) => {
    console.log(err);
  });


app.listen(3000, () => {
  console.log('server running on port 3000');
});

app.use('/server/auth', authRoute);
app.use('/server/user', userRoute);
app.use('/server/listing', listingRoute);

app.use(express.static(path.join(__dirname, '/client/dist')));

app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'client', 'dist', 'index.html'));
});

// eslint-disable-next-line no-unused-vars
app.use((err, req, res, next) => {
  const statusCode = err.statusCode || 500;
  const message = err.message || 'Internal Server Error';
  return res.status(statusCode).json({
    success: false,
    statusCode,
    message,
  });
});

node.js build render mern
1个回答
0
投票

尝试使用path.join(process.cwd(),)。这将确保路径将从应用程序根目录开始。

© www.soinside.com 2019 - 2024. All rights reserved.