Node.js HEROKU错误找不到模块xxx/MERN应用程序部署
我正试图在Heroku上部署一个MERN应用程序,但在成功构建之后出现了一些错误 始终为:无法fin模块“xxx” 我的应用程序分为两个文件夹:服务器文件夹(API节点)和客户端文件夹(REACT) 根文件夹中的My package.json: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
...
"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
有人会知道吗
提前谢谢这是否回答了您的问题?