使用节点 js 在 heroku 上需要文件夹崩溃
require folder crash on heroku with node js
我开始休息 api 在本地工作 :
这是index.js的内容:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var passport = require('passport');
var userController = require(__dirname + './controller/User.js');
/*var authController = require('./controller/auth');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(passport.initialize());
mongoose.connect('mongodb://server:mongolab0809@ds063870.mongolab.com:63870/diffuse');
var router = express.Router();
router.route('/users')
.post(userController.postUsers)
.get(authController.isAuthenticated, userController.getUsers);
app.use('/api', router);
app.listen(port);
console.log('Magic happens on port ' + port);*/
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) {
response.send('Welcome on guarded-sea-3175!');
});
app.listen(app.get('port'), function() {
console.log("Node app is running at localhost:" + app.get('port'));
});
当 heroku 服务器到达 userController = require(__dirname + './controller/User.js');
时它崩溃了。我尝试了不使用目录名和文件名的所有可能情况,但我真的不知道这里出了什么问题,我没有找到与此错误相关的 post。
我的 heroku 网页上有什么:
"An error occurred in the application and your page could not be served. Please try again in a few moments. If you are the application owner, check your logs for details."
和 heroku 日志:
2015-03-19T00:11:33.818642+00:00 heroku[router]: at=error code=H10
desc="App crashed" method=GET path="/"
host=guarded-sea-3175.herokuapp.com request_id=f7bf879e-c606-4a0f-bdae-7e3c9a33dcf5 fwd="82.235.64.7"
dyno= connect= service= status=503 bytes=
如果我注释 require 行,一切正常。
当需要文件时,您应该省略 __dirname,因为您可以只需要相对于 index.js 文件的路径。在需要文件时,您还应该去掉“.js”。还要确保文件名匹配(区分大小写),因为 'User.js' 不同于 'user.js'
尝试:
var userController = require('./controller/User');
我开始休息 api 在本地工作 :
这是index.js的内容:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var passport = require('passport');
var userController = require(__dirname + './controller/User.js');
/*var authController = require('./controller/auth');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(passport.initialize());
mongoose.connect('mongodb://server:mongolab0809@ds063870.mongolab.com:63870/diffuse');
var router = express.Router();
router.route('/users')
.post(userController.postUsers)
.get(authController.isAuthenticated, userController.getUsers);
app.use('/api', router);
app.listen(port);
console.log('Magic happens on port ' + port);*/
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) {
response.send('Welcome on guarded-sea-3175!');
});
app.listen(app.get('port'), function() {
console.log("Node app is running at localhost:" + app.get('port'));
});
当 heroku 服务器到达 userController = require(__dirname + './controller/User.js');
时它崩溃了。我尝试了不使用目录名和文件名的所有可能情况,但我真的不知道这里出了什么问题,我没有找到与此错误相关的 post。
我的 heroku 网页上有什么:
"An error occurred in the application and your page could not be served. Please try again in a few moments. If you are the application owner, check your logs for details."
和 heroku 日志:
2015-03-19T00:11:33.818642+00:00 heroku[router]: at=error code=H10
desc="App crashed" method=GET path="/"
host=guarded-sea-3175.herokuapp.com request_id=f7bf879e-c606-4a0f-bdae-7e3c9a33dcf5 fwd="82.235.64.7"
dyno= connect= service= status=503 bytes=
如果我注释 require 行,一切正常。
当需要文件时,您应该省略 __dirname,因为您可以只需要相对于 index.js 文件的路径。在需要文件时,您还应该去掉“.js”。还要确保文件名匹配(区分大小写),因为 'User.js' 不同于 'user.js'
尝试:
var userController = require('./controller/User');