Я только начинаю изучать NodeJS
и мне кажется удивительным.В любом случае, я сталкиваюсь со странной проблемой рендеринга вида.По сути, я хочу использовать шаблон MVC
, поэтому я организовал свой проект следующим образом:
Внутри app.js
Я написал следующий код:
const express = require('express');
const app = express();
require('./config/environment.js')(app, express);
require('./config/routes.js')(app);
app.listen(process.env.PORT || 3000);
По сути, я объявил сервер, используя expressjs
'причина указана для MVC
приложения, а затем я поместил всю конфигурацию для среды в envinroment.js
, передавая конструкторумодуль приложение и экспресс:
module.exports = function(app, express){
app.set('development', function(){
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
app.set('production', function(){
app.use(express.errorHandler());
});
app.set('view engine', 'ejs');
app.set('views', __dirname);
if(process.env.NODE_ENV === 'production'){
app.set('port', 80);
}
};
, как вы можете видеть, я установил как view engine
пакет ejs
, поэтому таким образом я могу рендерить html-файл в файле javascript и передавать информацию впредставление.
Затем в routes.js
я написал:
module.exports = function(app){
app.get('/', function(req, res){
res.render('home.ejs', {counter: 2});
});
};
Это код, который вызывает проблему, например, при загрузке приложения я получаю:
Не удалось найти представление "home.ejs"
Я также пытался использовать:
const path = require('path');
res.render(path.join(__dirname+'/views/home.ejs'), {counter: 2});
, но та же проблема ..
Заранее спасибо залюбая помощь