ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'

Posted

技术标签:

【中文标题】ENOENT:没有这样的文件或目录,stat \'/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html\'【英文标题】:ENOENT: no such file or directory, stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html' 【发布时间】:2020-08-08 14:20:07 【问题描述】:

所以我正在尝试为我的全栈 MERN 应用程序(使用 mysql)创建后端路由。我的应用程序使用 sequelize 作为我的 ORM,当我尝试编写获取路径以从数据库中获取数据时,出现此错误

“ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'”

以下是我的控制器文件中的获取请求。

module.exports = function(router) 
    router.get("/api/tasks", (req, res) => 
        db.Task.findAll().then(data => 
            res.json(data);
        );
    );

下面是我的 server.js 文件

const express = require("express");
const app = express();
const path = require("path");
const PORT = process.env.PORT || 3000;
const db = require("./models");

app.use(express.static(path.join(__dirname, "build")));
app.use(express.urlencoded( extended: true ));
app.use(express.json());

app.get("ping", function (req, res) 
    return res.send("pong");
)

app.get("*", function (req, res) 
    res.sendFile(path.join(__dirname, "build", "index.html"));
)

require("./controllers/taskController")(app);

db.sequelize.sync().then(function() 

    app.listen(PORT, () => 
        console.log("Your API server is now on PORT:", PORT);
    )

)

最后,下面是我的续集模型

const Sequelize = require("sequelize");

module.exports = function(sequelize, DataTypes)
    var Task = sequelize.define("Task", 
        id: 
            type: Sequelize.INTEGER(11),
            allowNull: false,
            autoIncrement: true,
            primaryKey: true
        ,
        task: DataTypes.STRING
    );
return Task;

谁能帮我弄清楚为什么会出现这个错误?谢谢!

【问题讨论】:

【参考方案1】:

实际上我想通了,我只是用 server.js 中的 build、index.html 语句摆脱了 app.get 并且它起作用了!

【讨论】:

以上是关于ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'的主要内容,如果未能解决你的问题,请参考以下文章

Heroku ENOENT:没有这样的文件或目录,stat '/app/build/index.html'

ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'

纱线安装错误“ENOENT:没有这样的文件或目录

错误:ENOENT:没有这样的文件或目录,错误时统计“/public/main.html”(本机)

使用 fs.readdir 和 fs.statSync 返回 ENOENT,没有这样的文件或目录错误

ENOENT:没有这样的文件或目录。?