Neu Express-App, ich versuche, mongodb mit Express und node.js einzurichten. Ich habe einige Probleme, wenn ich in diesem Bereich etwas Hilfe bekommen kann. Ich habe versucht, Verzeichnisse refrences hinzuzufügen, damit Sie Idee haben können.Wie mongodb mit Express einrichten?
1- var config
kommt undefined nicht sicher Pfad ist richtig.
2- get SyntaxError: Unerwartetes reserviertes Wort für require('./config/express')(app);
.
Grundsätzlich versucht App mit lokalen Mongodb laufen zu lassen.
server> app.js
var express = require('express');
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
var config = require('./config/environment');
var http = require('http');
var https = require('https');
var fs = require('fs');
var bodyParser = require('body-parser');
// Connect to MongoDB
mongoose.connect(config.mongo.uri, config.mongo.options);
mongoose.connection.on('error', function(err) {
console.error('MongoDB connection error: ' + err);
process.exit(-1);
});
// Setup server
var app = express();
var server = http.createServer(app);
require('./config/express')(app);
require('./routes')(app);
// Start server
function startServer() {
server.listen(config.port, config.ip, function() {
console.log('Express server listening on %d, in %s mode', config.port, app.get('env'));
});
}
setImmediate(startServer);
// Expose app
exports = module.exports = app;
server> config> Express.js
var express = require('express');
var morgan = require('morgan');
var bodyParser = require('body-parser');
var path = require('path');
var config = require('./config/environment');
var session = require('express-session');
var connectMongo = require('connect-mongo');
var mongoose = require('mongoose');
var mongoStore = connectMongo(session);
export default function(app) {
var env = app.get('env');
app.set('views', config.root + '/server/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
/*app.use(compression());*/
app.use(bodyParser.urlencoded({
extended: false
}));
app.set('appPath', path.join(config.root, 'client'));
if ('development' === env || 'test' === env) {
app.use(express.static(path.join(config.root, '.tmp')));
app.use(express.static(app.get('appPath')));
app.use(morgan('dev'));
server> config> Umwelt> development.js
module.exports = {
// MongoDB connection options
mongo: {
uri: 'mongodb://localhost/test-modeler-dev'
},
// Seed database on startup
seedDB: false
};
Es ist schwierig, das Problem zu identifizieren, ohne zu wissen, was die Verzeichnisstruktur für './Config' ist. Es sieht nicht so aus, dass sich im './Config/environment'-Verzeichnis eine' index.js'-Datei befindet, daher ist sie undefiniert. Müssen Sie stattdessen mit einer bestimmten Datei wie 'require ('./config/environment/development.js')' 'versuchen? –
Config ist unter Server und Server ist auf Root-Ebene, wie ich in development.js erwähnt habe. – hussain
Welche anderen Dateien gibt es im './Config/environment' Verzeichnis? Wenn es nur 'development.js' gibt, müssen Sie' require ('./ config/environment/development.js') stattdessen verwenden, da der Modullader diesen Namen nicht standardmäßig auflösen wird. –