2016-09-04 2 views
0

mongooseを使ってherokuにMEANアプリを展開しようとしています。ウェブサイトが配備されていても正しく動作しない場合、mLabは自分のモデルやAPIルートを使用しません。 私はそれがプロジェクトの構造かもしれないと思うが、私は全くわからない。MEANアプリでherokuでmLabを使用できない

package.jsonは正しく、それが持っている: "スタート": "ノード./bin/www"

WWWのファイル:

#!/usr/bin/env node 
var app = require('../server'); 
var debug = require('debug')('AcademiaWeb:server'); 
var http = require('http'); 

var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 

var server = http.createServer(app); 

server.listen(port); 
server.on('error', onError); 
server.on('listening', onListening); 

function normalizePort(val) { 
    var port = parseInt(val, 10); 

    if (isNaN(port)) { 
    // named pipe 
    return val; 
    } 

    if (port >= 0) { 
    // port number 
    return port; 
    } 

    return false; 
} 

function onError(error) { 
    if (error.syscall !== 'listen') { 
    throw error; 
    } 

    var bind = typeof port === 'string' 
    ? 'Pipe ' + port 
    : 'Port ' + port; 

    switch (error.code) { 
    case 'EACCES': 
     console.error(bind + ' requires elevated privileges'); 
     process.exit(1); 
     break; 
    case 'EADDRINUSE': 
     console.error(bind + ' is already in use'); 
     process.exit(1); 
     break; 
    default: 
     throw error; 
    } 
} 

function onListening() { 
    var addr = server.address(); 
    var bind = typeof addr === 'string' 
    ? 'pipe ' + addr 
    : 'port ' + addr.port; 
    debug('Listening on ' + bind); 
} 

server.js(それは命名されたapp.jsとをそれは)私がHerokuのチュートリアル以下にそれを変更して、とにかく動作しませんでした:どこAPIルート

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

require('./config/connectMongoose.js'); 

require('./models/asignatura_model'); 
require('./models/horario_model');*/ 
require('./models/grado_model'); 
require('./models/universidad_model'); 
require('./models/campus_model'); 

var asignaturas = require('./routes/api/v1/asignaturas'); 
var dias = require('./routes/api/v1/dias');*/ 
var grados = require('./routes/api/v1/grados'); 
var universidades = require('./routes/api/v1/universidades'); 
var campus = require('./routes/api/v1/campus'); 

var app = express(); 

app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 

app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/api/v1/asignaturas', asignaturas); 
app.use('/api/v1/grados', grados); 
app.use('/api/v1/universidades', universidades); 
app.use('/api/v1/campus', campus); 

app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

if (app.get('env') === 'development') { 
    app.use(function(err, req, res, next) { 
     res.status(err.status || 500); 
     res.render('error', { 
      message: err.message, 
      error: err 
     }); 
    }); 
} 

app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: {} 
    }); 
}); 


module.exports = app; 

./models/campus_modelマングースモデルが置かれている場所であるだけでなく、./routes/api/v1/asignaturasがありますあります。

connectMongoose:コードの量について

'use strict'; 

var mongoose = require('mongoose'); 
mongoose.connect(process.env.MONGOLAB_URI||'mongodb://localhost/hypathia'); 

var db = mongoose.connection; 

db.on('error', console.error.bind(console, 'Mongodb connection error:')); 
db.once('open', function() { 
    console.info('Connected to mongodb on port 27017'); 
}); 


module.exports = mongoose; 

申し訳ありませんが、誰かがこの質問をチェック念のためにあなたに

+0

はMLABですあなたのHerokuアプリケーション 'MONGOLAB_URI'または' MONGODB_URI'のURI設定変数? https://devcenter.heroku.com/articles/mongolab#getting-your-connection-uri – pneumee

+0

@pneumeeこれを公開して数秒後に私はそれを見た。私はそれを変更し、それはとにかく動作しませんでした。ところで、私はそれが正確にどのように分かっていないと決めました。 ありがとう! – Aldeguer

答えて

0

に感謝し、私は最初からデータベースを供給することによって、これを解決

関連する問題