Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js HEROKU错误找不到模块xxx/MERN应用程序部署_Node.js_Reactjs_Heroku - Fatal编程技术网

Node.js HEROKU错误找不到模块xxx/MERN应用程序部署

Node.js HEROKU错误找不到模块xxx/MERN应用程序部署,node.js,reactjs,heroku,Node.js,Reactjs,Heroku,我正试图在Heroku上部署一个MERN应用程序,但在成功构建之后出现了一些错误 始终为:无法fin模块“xxx” 我的应用程序分为两个文件夹:服务器文件夹(API节点)和客户端文件夹(REACT) 根文件夹中的My package.json: ... "scripts": { "start": "cd ./server && node server.js", "heroku-postbuild

我正试图在Heroku上部署一个MERN应用程序,但在成功构建之后出现了一些错误

始终为:无法fin模块“xxx”

我的应用程序分为两个文件夹:服务器文件夹(API节点)和客户端文件夹(REACT)

根文件夹中的My package.json:

...
"scripts": {
    "start": "cd ./server && node server.js",
    "heroku-postbuild": "cd ./client && yarn && yarn build"
  },
...
web: cd ./server && node server.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const passport = require('passport');
const users = require('./routes/api/users');
const favs = require('./routes/api/favs');
const path = require('path');
require('dotenv').config();

// Serve static files from the React app
app.use(express.static(path.join(__dirname, '../client/build')));

app.use(
    bodyParser.urlencoded({
        extended: true
    })
);

app.use(
    cors(),
    bodyParser.json()
);


mongoose.connect(
    `mongodb+srv://admin:${process.env.DB_PASS}@cluster0.o5plw.mongodb.net/${process.env.DB_NAME}?retryWrites=true&w=majority`,
    {   useNewUrlParser: true,
        useUnifiedTopology: true 
    }
    ).then(() => console.log("MongoDB connected"))
    .catch((err) => console.log("MongoDB :", err));

app.use(passport.initialize());
require('./config/passport')(passport);
app.use("/api/users", users);
app.use("/api", favs);

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

app.listen(PORT, () => {
    console.log(`Listenning on ${PORT}`);
});
$ heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable_node_modules_cache' --allow-empty
$ git push heroku master
根文件夹中的My procfile:

...
"scripts": {
    "start": "cd ./server && node server.js",
    "heroku-postbuild": "cd ./client && yarn && yarn build"
  },
...
web: cd ./server && node server.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const passport = require('passport');
const users = require('./routes/api/users');
const favs = require('./routes/api/favs');
const path = require('path');
require('dotenv').config();

// Serve static files from the React app
app.use(express.static(path.join(__dirname, '../client/build')));

app.use(
    bodyParser.urlencoded({
        extended: true
    })
);

app.use(
    cors(),
    bodyParser.json()
);


mongoose.connect(
    `mongodb+srv://admin:${process.env.DB_PASS}@cluster0.o5plw.mongodb.net/${process.env.DB_NAME}?retryWrites=true&w=majority`,
    {   useNewUrlParser: true,
        useUnifiedTopology: true 
    }
    ).then(() => console.log("MongoDB connected"))
    .catch((err) => console.log("MongoDB :", err));

app.use(passport.initialize());
require('./config/passport')(passport);
app.use("/api/users", users);
app.use("/api", favs);

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

app.listen(PORT, () => {
    console.log(`Listenning on ${PORT}`);
});
$ heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable_node_modules_cache' --allow-empty
$ git push heroku master
服务器文件夹中的My server.js文件:

...
"scripts": {
    "start": "cd ./server && node server.js",
    "heroku-postbuild": "cd ./client && yarn && yarn build"
  },
...
web: cd ./server && node server.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const passport = require('passport');
const users = require('./routes/api/users');
const favs = require('./routes/api/favs');
const path = require('path');
require('dotenv').config();

// Serve static files from the React app
app.use(express.static(path.join(__dirname, '../client/build')));

app.use(
    bodyParser.urlencoded({
        extended: true
    })
);

app.use(
    cors(),
    bodyParser.json()
);


mongoose.connect(
    `mongodb+srv://admin:${process.env.DB_PASS}@cluster0.o5plw.mongodb.net/${process.env.DB_NAME}?retryWrites=true&w=majority`,
    {   useNewUrlParser: true,
        useUnifiedTopology: true 
    }
    ).then(() => console.log("MongoDB connected"))
    .catch((err) => console.log("MongoDB :", err));

app.use(passport.initialize());
require('./config/passport')(passport);
app.use("/api/users", users);
app.use("/api", favs);

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

app.listen(PORT, () => {
    console.log(`Listenning on ${PORT}`);
});
$ heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable_node_modules_cache' --allow-empty
$ git push heroku master
我已经试过了:

...
"scripts": {
    "start": "cd ./server && node server.js",
    "heroku-postbuild": "cd ./client && yarn && yarn build"
  },
...
web: cd ./server && node server.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 5000;
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const passport = require('passport');
const users = require('./routes/api/users');
const favs = require('./routes/api/favs');
const path = require('path');
require('dotenv').config();

// Serve static files from the React app
app.use(express.static(path.join(__dirname, '../client/build')));

app.use(
    bodyParser.urlencoded({
        extended: true
    })
);

app.use(
    cors(),
    bodyParser.json()
);


mongoose.connect(
    `mongodb+srv://admin:${process.env.DB_PASS}@cluster0.o5plw.mongodb.net/${process.env.DB_NAME}?retryWrites=true&w=majority`,
    {   useNewUrlParser: true,
        useUnifiedTopology: true 
    }
    ).then(() => console.log("MongoDB connected"))
    .catch((err) => console.log("MongoDB :", err));

app.use(passport.initialize());
require('./config/passport')(passport);
app.use("/api/users", users);
app.use("/api", favs);

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

app.listen(PORT, () => {
    console.log(`Listenning on ${PORT}`);
});
$ heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable_node_modules_cache' --allow-empty
$ git push heroku master
有人会知道吗


提前谢谢

这是否回答了您的问题?