2017-01-12 5 views
-1

Expressアプリケーションに新しく、expressとnode.jsを使用してmongodbを設定しようとしています。私はこの分野でいくつかの助けを得ることができますいくつかの問題があります。私はあなたのアイデアを持つことができるようにディレクトリのrefrencesを追加しようとしました。Expressでmongodbを設定するには?

1- var configは、パスが正しいかどうかは不明です。

2取得SyntaxError:予期しない予約語 require('./config/express')(app);

基本的に、ローカルのmongodbでアプリを実行しようとしています。それが指摘されたとおり

サーバー> 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; 

サーバー>設定> 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')); 

サーバー>設定>環境>は

module.exports = { 

    // MongoDB connection options 
    mongo: { 
    uri: 'mongodb://localhost/test-modeler-dev' 
    }, 

    // Seed database on startup 
    seedDB: false 

}; 
+0

'。/ config'のディレクトリ構造がわからなくても問題を特定することは困難です。その外観からは '。/ config/environment'ディレクトリに' index.js'ファイルがありませんので、未定義です。 require( './ config/environment/development.js') 'のような特定のファイルを代わりに試してみる必要がありますか? –

+0

configはサーバの下にあり、serverは私がdevelopment.jsで述べたようにルートレベルにあります。 – hussain

+0

'。/ config/environment'ディレクトリには他にどのようなファイルがありますか? 'development.js'だけがある場合は、モジュールローダがデフォルトでその名前を解決しないので、代わりに' require( './config/ environment/development.js') 'を使う必要があります。 –

答えて

-1

をdevelopment.jsあなたの問題は、古いバージョンの新しいJavaScript機能を使用していることですノードの現在のエラーを回避するには、サーバー>設定> express.jsにこの行を変更する必要があります。

// ... 
module.exports = function(app) { 
// ... 

// ... 
export default function(app) { 
// ... 

これは、この特定の問題を解決する必要があります。ここでのNode.jsのlatest version

  • 更新:あなたが使用しているコードは、ノードのバージョンでサポートされていないのECMAScript 2015の他の機能を使用している場合しかし、あなたは2つのオプションがあります。
  • すべてのコードをリファクタリングすると、ECMAScript 2015のすべての機能が削除され、ご使用のバージョンのNode.jsで動作することが保証されます。

これが役に立ちます。

関連する問題