2016-07-16 3 views
0

У меня по-прежнему возникают проблемы с развертыванием моего веб-приложения на heroku - при возврате ошибки не загружается ошибка ресурса 404. Она отлично работает на моем локальном сервере узла, но не загружает файлы css или js, когда толкнул герою. Я видел несколько ответов относительно рубин, но в ограниченном количестве около узла - вот мой код сервера:развертывание heroku с сервером узлов

var express = require('express'); 
var app = express(); 

// set the port of our application 
// process.env.PORT lets the port be set by Heroku 
var port = process.env.PORT || 8080; 

// set the view engine to ejs 
app.set('view engine', 'ejs'); 

// make express look in the public directory for assets (css/js/img) 
app.use(express.static(__dirname + '/public')); 

// set the home page route 
app.get('/', function(req, res) { 

    // ejs render automatically looks in the views folder 
    res.render('index'); 
}); 

app.listen(port, function() { 
    console.log('Our app is running on http://localhost:' + port); 
}); 

Благодаря Необыкновенно!

+0

Таким образом, он не загрузит ваш файл index.ejs? Или он не будет загружать CSS или JS? –

+0

Простой путь к общедоступной директории неверен, попробуйте отладить это значение, вы можете использовать var path = require ("path"); express.static (path.resolve (__ dirname, "/ public")). – cshion

+0

он не загрузит css или js. Первоначально у меня был index.html, но читал где-нибудь о том, как его изменить на ejs. – JamesHandshoe

ответ

1

Если ваши файлы JS и CSS находятся в общедоступном каталоге, вам нужно будет изменить свой код, чтобы это отразить. Проблема в том, что heroku ищет эти файлы в корневом каталоге, когда они фактически находятся в/public.

Чтобы добавить/общественности к запросу URL, вам необходимо изменить эту строку

app.use(express.static(__dirname + '/public')); 

к этому

app.use("/public", express.static(__dirname + '/public')); 

Вы можете прочитать об этом в related post.

+0

Также в будущем выполнение «heroku logs -tail» даст вам подробные (живые) журналы ошибок. Это должно помочь вам отладить ^^ – mdegges

+0

Я добавил, что изменения, но все еще ничего на сервере heroku. моя файловая структура это медитация приложение -публичного Вид index.html index.js package.json PROCFILE https://meditate-app.herokuapp.com/ что ссылка, если это будет помогите посмотреть, что происходит. Я новичок в кодировании с узлом, и это первая попытка подтолкнуть к герою, поэтому я не на 100%, что означают журналы erros .. спасибо за помощь – JamesHandshoe

Смежные вопросы