Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Если делаю NODE_ENV=production, получаю ошибку Internal Server Error после обновления страницы. #11

Open
redhedg opened this issue Jan 16, 2016 · 4 comments

Comments

@redhedg
Copy link

redhedg commented Jan 16, 2016

Добрый день, скачал проект, сделал все по инструкции.
Когда сделал export NODE_ENV=production, получил ошибки в консоли после второго обновления страниы localhost:3000. Страница отображает Internal Server Error.

root@ubuntu:/var/www/test-express-bem/express-bem-project-stub# export NODE_ENV=production
root@ubuntu:/var/www/test-express-bem/express-bem-project-stub# node app.js
Server listen on 0.0.0.0:3000
Error: Empty request
at View.bemhtml (/var/www/test-express-bem/express-bem-project-stub/node_modules/express-bem-bemhtml/lib/engines/bemhtml.js:14:12)
at View.Engines.Object.defineProperties.proxy.value as engine
at View.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/view.js:126:8)
at tryRender (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:639:10)
at EventEmitter.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:591:3)
at ServerResponse.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/response.js:961:7)
at /var/www/test-express-bem/express-bem-project-stub/app.js:49:7
at Layer.handle as handle_request
at next (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:112:3)
Error: Empty request
at View.bemhtml (/var/www/test-express-bem/express-bem-project-stub/node_modules/express-bem-bemhtml/lib/engines/bemhtml.js:14:12)
at View.Engines.Object.defineProperties.proxy.value as engine
at View.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/view.js:126:8)
at tryRender (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:639:10)
at EventEmitter.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:591:3)
at ServerResponse.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/response.js:961:7)
at /var/www/test-express-bem/express-bem-project-stub/app.js:49:7
at Layer.handle as handle_request
at next (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:112:3)
Error: Empty request
at View.bemhtml (/var/www/test-express-bem/express-bem-project-stub/node_modules/express-bem-bemhtml/lib/engines/bemhtml.js:14:12)
at View.Engines.Object.defineProperties.proxy.value as engine
at View.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/view.js:126:8)
at tryRender (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:639:10)
at EventEmitter.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/application.js:591:3)
at ServerResponse.render (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/response.js:961:7)
at /var/www/test-express-bem/express-bem-project-stub/app.js:49:7
at Layer.handle as handle_request
at next (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/var/www/test-express-bem/express-bem-project-stub/node_modules/express/lib/router/route.js:112:3)

Что надо сделать, чтобы заработало?

@qfox
Copy link
Member

qfox commented Jan 16, 2016

https://github.com/express-bem/bemhtml/blob/384e97023fc5b40b6b09a3a6ac91ef499bbd8f04/lib/engines/bemhtml.js#L15

Похоже на эту ошибку. Вы передаете параметр bemjson?

@redhedg
Copy link
Author

redhedg commented Jan 17, 2016

Вот что передается в файле app.js в вашем проекте, указанный в примере:
// routes
app.get('/', function (req, res) {
res.render('index', {
block : 'page',
content : 'asdasd'
});
});
Ничего в проекте не менял, получаю ошибку 500 описанную выше при NODE_ENV=production.
Тестировал и под рутом и под обычным пользователем, результат один и тот же.

Если убираю render, тогда все ок работает:
// routes
app.get('/', function (req, res) {
res.send('Test is OK.');
});

Спасибо большое за ответ, добавил строку bemjson {} и все заработало в режиме NODE_ENV=production.

Предлагаю в файл app.js (https://github.com/express-bem/project-stub/blob/express-bem-core/app.js) внести следующие изменения:
// routes
app.get('/', function (req, res) {
res.render('index', {
bemjson {
block : 'page',
content : 'asdasd'
}
});
});

@qfox
Copy link
Member

qfox commented Jan 17, 2016

Попробуй

res.render('index', {
  bemjson: {
    block : 'page',
    content : 'asdasd'
  }
});

@redhedg
Copy link
Author

redhedg commented Jan 17, 2016

Заработало, спасибо огромное!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants