我是heroku的新手。本地项目工作正常但在部署供应商脚本后文件不可用。他们的路径被重定向到主页面。
以下是部署版本,错误为https://salty-woodland-8424.herokuapp.com/。
在nodeJs文件中我使用
var express = require('express');
var path = require('path');
var stylus = require('stylus');
var morgan = require('morgan');
var mongoose = require('mongoose');
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var app = express();
function compile(str, path) {
return stylus(str).set('filename', path);
}
app.set('views', path.join(__dirname, 'server/views'));
app.set('view engine', 'jade');
app.use(morgan('dev')); // log every request to the console
app.use(stylus.middleware(
{
src: __dirname + '/public',
compile: compile
}
));
app.use(express.static(__dirname + '/public'));
console.log(mongoose.version);
mongoose.connect('mongodb://****:****@ds033390.mongolab.com:33390/mymongodb');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error...'));
db.once('open', function callback() {
console.log('mymongodb db opened');
});
var messageSchema = mongoose.Schema({message: String});
var Message = mongoose.model('Message', messageSchema);
var mongoMessage;
Message.findOne().exec(function(err, messageDoc) {
mongoMessage = messageDoc.message;
});
app.get('/partials/:partialPath', function(req, res) {
res.render('partials/' + req.params.partialPath);
});
app.get('*', function(req, res) {
res.render('index', {
mongoMessage: mongoMessage
});
});
var port = process.env.PORT || 3030;
app.listen(port);
console.log('Listening on port ' + port + '...');
这可能是什么问题?
答案 0 :(得分:0)
我解决了。我想,我问了不正确的问题。问题在于在部署时缺少对依赖项的bower命令安装。