Node.js 通过app.js从控制器到视图的变量

Node.js 通过app.js从控制器到视图的变量,node.js,express,ejs,Node.js,Express,Ejs,我正在用expressjs学习node.js,我有一些结构项目: 控制器/Home.js 和 视图/index.ejs 在我的根目录中,我有app.js,代码为: app.all('/', function(req, res, next) { Home.index(); res.render('index', { title: 'Home' }); }); …但是我想从我的控制器文件(Home.js)和函数

我正在用expressjs学习node.js,我有一些结构项目:

控制器/Home.js 和 视图/index.ejs

在我的根目录中,我有app.js,代码为:

    app.all('/', function(req, res, next) {
        Home.index();
        res.render('index', {
            title: 'Home'
        });
    });
…但是我想从我的控制器文件(Home.js)和函数索引中发送标题,你能解释一下怎么做吗

致以最诚挚的问候。

选项1:

从home.js文件中公开标题,并在app.js中以以下方式访问它:

var home = require('home_path');

app.all('/', function(req, res, next) {
        res.render('index', {
            title: home.title
        });
    });
备选案文2:

创建额外的some file.js,它获取
标题
,并传递给
某个\u处理程序\u函数
,如下所示:

var some_file = require('path_to_some_file');

app.all('/', some_handler_function);
节点欺骗可用:


要获得完整的代码,请在运行
节点服务器时获取工作节点欺骗,然后执行
npm安装

您的要求不明确。再解释一下clearly@Darshan,我想从controller Home.js(controller/Home.js)呈现我的视图(*.ejs文件)。将res(response)对象传递到Home.index函数中,如Home.index(res)然后从那里调用render。您可以使用home.js中的
exports.title
,并在应用程序中请求和访问。js@ZeeshanHassanMemon你能详细地给我解释一下吗?我应该向Home.js添加什么?我应该向app.js添加什么来阅读这个var?谢谢,但是如何在我的Home.js文件中导出title var?或者我可以在控制器中渲染视图?在这个选项中,我将只在“app.all”中创建Home.index()。我已经为您创建了节点欺骗,请访问它。谢谢,现在它对我有效。我还有第二个问题要问你,在我用PHP(MVC)创建应用程序之前,MVC的结构仍然在Node.js中使用,还是应该让它有所不同?当做太好了,请把答案标记正确并回复。是的,根据项目的性质,MVC非常适合,它使事情保持清晰和分离。