He clonado un repositorio de GitHub como referencia. Pero no sé a qué se refiere este .keys_dev. Todo me parece bien. Pero me está devolviendo error. Todo está en su lugar como se esperaba. Espero que alguien pueda ayudarme. Requiere una pila que es desconocida para mí. Requiere una API que ya está definida. Necesito entender ¿alguien puede ayudarme?
const express = require("express"); const bodyPaser = require('body-parser'); const mongoose = require('mongoose'); const passport = require('passport'); const path = require('path'); const cors = require('cors'); const users = require('./routes/api/users'); const level = require('./routes/api/levels'); const employee = require('./routes/api/employees'); const exception = require('./routes/api/exception'); const payslip = require('./routes/api/payslip'); const dashboard = require('./routes/api/dashboard'); const individualcost = require('./routes/api/individualcost'); const oneoffpayment = require('./routes/api/oneoffpayment'); const record = require('./routes/api/record'); const app = express(); //Body parser middleware app.use(bodyPaser.urlencoded({ extended: false })); app.use(bodyPaser.json()); app.use(cors()) //Db const db = require("./config/keys").mongoURI; //MongoDB connection mongoose .connect( db, { useNewUrlParser: true } ) .then(() => console.log("MongoDB connected")) .catch(err => console.log(err)); //Passport Middleware app.use(passport.initialize()); //Passport config require('./config/passport')(passport); //Use routes app.use('/api/users', users); app.use('/api/level', level); app.use('/api/employee', employee); app.use('/api/exception', exception); app.use('/api/payslip', payslip); app.use('/api/dashboard', dashboard); app.use('/api/individualcost', individualcost); app.use('/api/oneoffpayment', oneoffpayment); app.use('/api/record', record); // Server static assets if in production if (process.env.NODE_ENV === 'production') { // Set static folder app.use(express.static('client/build')); app.get('*', (req, res) => { res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html')); }); } const PORT = process.env.PORT || 5000; app.listen(PORT, () => console.log(`App is running on port ${PORT}`));
const db = require("./config/keys").mongoURI;
Este require
está obteniendo configuraciones de aplicaciones del sistema de archivos local, en este caso el URI de db. ¿Quizás el autor del repositorio olvidó mencionar ese detalle? Es muy probable que si desea utilizar un MongoDB, tendrá que configurar su propia base de datos local o en la nube y crear un archivo en config/keys
que contenga un mongoURI. Esto debería verse similar a esto:
// this is the contents of ./config/keys export default { mongoURI: "mongodb+srv://project:your-mongo-uri-here", };
Si está buscando iniciar un clúster mongo en la nube, he estado usando cloud.mongodb para un pequeño proyecto favorito, funciona de maravilla y tiene un nivel de plan gratuito.
También puede ejecutar mongo localmente y simplemente apuntar mongoURI
a su instancia local de mongo.