これは私がHerokuで初めて試みたものです。私はherokuで "展開成功"することができましたが、私のアプリを訪ねると "アプリケーションが失敗しました"と表示されます。herokuにnodejs/mongooseを配備する
私は、このガイドに従っ: https://scotch.io/tutorials/use-mongodb-with-a-node-application-on-heroku
私はそれがURIとうまく関係しないかもしれないが、私はマングースを使用していますので、トリッキーなことがあると思います。私もmlabアドオンを使用しています。ここで
は私のバックエンドのための私の設定です:
var request = require('request');
var app = express();
var mongoCredentialss = require('/mongo_credentialss.json');
var conn = mongoose.connection;
var path = require('path');
// connect to the database
mongoose.connect('mongodb://' + mongoCredentials.username + ':' + mongoCredentialss.password + '@ds.mlab.com:12345/mydatabase-db');
mongoose.Promise = Promise;
app.listen(3000, function() {
console.log('Listening on 3000...');
});
私は本当に私はちょうど感謝に隠し.jsonファイルに自分のユーザー名とパスワードを保存し、それをローカルに動作させるために、.envを理解していませんでした。 gitignore。ガイドから、URIをノードファイルに変数として埋め込んでみました。 Herokuの設定/ *
をnodejs:私はその後、私がオーバー始めたときに、私はまた、Herokuのは、その標準buildpacksを検出していないとの定期的な問題を抱えて保管方法を「隠された環境での仕事...
あまりにもわからないんだけど***編集:
まだいくつかの問題があります。私は今、私の「モンゴcredsを」ので、私のserver.jsファイルを取り出し、次のようになります
var express = require('express');
var mongoose = require('mongoose');
mongoose.connect(process.env.MONGODB_URI);
var Promise = require('bluebird');
var bodyParser = require('body-parser');
var randtoken = require('rand-token');
var cors = require('cors');
var request = require('request');
var app = express();
var conn = mongoose.connection;
var fs = require('fs');
var path = require('path');
app.listen(3000, function() {
console.log('Our app is running on http://localhost:' + 3000);
});
さらにいくつかのコンテキスト:バックエンドとフロントエンド:私は2つのサブフォルダを収容する一つのメインプロジェクトフォルダを、持っています。 herokuに展開すると、ディレクトリをメインフォルダに変更してすべてを展開します。
"dependencies": {
"bluebird": "^3.4.1",
"body-parser": "^1.15.2",
"cors": "^2.7.1",
"express": "^4.14.0",
"mongoose": "^4.5.3",
"my-bcrypt": "^1.0.2",
"rand-token": "^0.2.1",
"request": "^2.74.0"
},
"engines": {
"node": "==6.0.0"
}
}
****** EDIT 2: Herokuのログは私の 'backend.js' を見つけることができない、それは場合に役立ちます
また、ここで私のpackage.jsonは次のようになります。 。今すぐ、私は1つのメインプロジェクトフォルダディレクトリを持っています。---> backend.js(ノード)と---> frontend.js(角)
私のpackage.jsonは次のようになりますこれは:
**"main": "frontend.js",**
"scripts": {
**"start": "node backend.js",**
"test": "echo \"Error: no test specified\" && exit 1"
},
私が主な.jsファイルをどのように見つけているのか誤解しているかもしれません。私の理解から、 'start'はノードファイル、 'main'ファイルはangle/htmlのようなフロントエンドのものです。
メインフォルダ(backend.js、frontend.js、cssファイル、htmlファイル)にすべてのサブフォルダを移動した後、私は自分のアプリケーションをローカルで実行できることを再度確認できます。しかし、新しいヒロクアプリにFRESHを導入すると、次のログが取得されます:2016-08-27T20:45:26.674272 + 00:00 heroku [web.1]:状態がクラッシュから開始に変わりました 2016-08-27T20: 45:28.574699 + 00:00 heroku [web.1]:コマンド 'node backend.js'による起動プロセス 2016-08-27T20:45:30.818329 + 00:00 heroku [web.1]:プロセスはステータス1で終了しました –
2016-08-27T20:45:30.753675 + 00:00 app [web.1]:module.js:341 2016-08-27T20:45:30.753686 + 00:00 app [web.1]:throw err; 2016-08-27T20:45:30.753687 + 00:00 app [web.1]:^ 2016-08-27T20:45:30.753687 + 00:00 app [web.1]: 2016-08-27T20: 45:30.753692 + 00:00 app [web.1]:エラー:モジュール '/app/backend.js'を見つけることができません 2016-08-27T20:45:30.753694 + 00:00 app [web.1]:at関数。モジュールモジュール._load(module.js:290:25) 2016-08-27T20:45:30.753693 + 00:00 app [web.1]: –
Function.Module._resolveFilename(module.js:339:15) 2016-08-27T20:45:30.753695 + 00:00 app [web.1]:Function.Module.runMain(module.js:447:10) 2016-08-27T20:45:30.753696 + 00:00アプリケーション[web.1]:起動時(node.js:148:18) 2016-08-27T20:45:30.753697 + 00:00 app [web.1]:node.js:405:3 –