Node.js 我在其中创建或修改视图(ejs)的全局变量

Node.js 我在其中创建或修改视图(ejs)的全局变量,node.js,express,sails.js,ejs,Node.js,Express,Sails.js,Ejs,我需要修改变量“”,但我不知道他们在哪里创建变量,也不知道我可以在哪里更改它 我想知道在视图中可以找到其他全局变量,例如我没有在视图中发送的变量,但由于某些原因已经在视图中了。在“快车”中,它感动了我,让我做了如下事情: res.render('session/new',{title:“登录”,session:req.session});“ 所以我想知道他们在哪里创建了“session”变量,因为我不喜欢在不知道XD的情况下去那里 非常感谢您的帮助。我将尝试回答您关于Sails.js中局部/全局

我需要修改变量“
”,但我不知道他们在哪里创建变量,也不知道我可以在哪里更改它

我想知道在视图中可以找到其他全局变量,例如我没有在视图中发送的变量,但由于某些原因已经在视图中了。在“快车”中,它感动了我,让我做了如下事情:

res.render('session/new',{title:“登录”,session:req.session});

所以我想知道他们在哪里创建了“session”变量,因为我不喜欢在不知道XD的情况下去那里


非常感谢您的帮助。

我将尝试回答您关于Sails.js中局部/全局变量的一些问题

局部变量

Sails.js构建在ExpressJS之上,并使用相同技术的mutch将数据发送到视图。例如,要将局部变量发送到上下文中的视图,请执行以下操作:

在控制器中:

newSession: function(req, res, next) {
    res.view('session/new', {
        title: "Log in", 
        session: req.session
    });
});
全局变量

Sails.js已经有一些全局变量<代码>标题可能是其中之一。例如,
sails
是一个全局变量。您可以将自己的自定义变量附加到该变量。为此:

  • 在配置文件夹中创建一个新文件
  • 可以随意命名,并使用module.exports约定
config/myGlobals.js
文件中:

module.exports.myGlobalVariables = {
    globalOne: "This is a string",
    globalTwo: function(){ return "myGlobal"; }
}
现在,您可以使用以下方式在所有控制器/视图中访问这些变量:

sails.config.myGlobalVariables.globalOne; //returns: This is a string
sails.config.myGlobalVariables.globalTwo; //returns: myGlobal

我将尝试回答您关于Sails.js中局部/全局变量的一些问题

局部变量

Sails.js构建在ExpressJS之上,并使用相同技术的mutch将数据发送到视图。例如,要将局部变量发送到上下文中的视图,请执行以下操作:

在控制器中:

newSession: function(req, res, next) {
    res.view('session/new', {
        title: "Log in", 
        session: req.session
    });
});
全局变量

Sails.js已经有一些全局变量<代码>标题可能是其中之一。例如,
sails
是一个全局变量。您可以将自己的自定义变量附加到该变量。为此:

  • 在配置文件夹中创建一个新文件
  • 可以随意命名,并使用module.exports约定
config/myGlobals.js
文件中:

module.exports.myGlobalVariables = {
    globalOne: "This is a string",
    globalTwo: function(){ return "myGlobal"; }
}
现在,您可以使用以下方式在所有控制器/视图中访问这些变量:

sails.config.myGlobalVariables.globalOne; //returns: This is a string
sails.config.myGlobalVariables.globalTwo; //returns: myGlobal

您使用的是哪个版本的sails.js?如果我把
放在.ejs文件中,我就没有定义。我使用的是0.9版。变量“title”用在layout.ejs中,在页面的标题中,好的。这就解释了,我使用的是0.10版。可能在最新版本中删除了该全局变量。可能与您使用的sails.js版本重复?如果我把
放在.ejs文件中,我就没有定义。我使用的是0.9版。变量“title”用在layout.ejs中,在页面的标题中,好的。这就解释了,我使用的是0.10版。可能在最新版本中删除了该全局变量。该变量的可能副本非常有用,@aludvigsen。但是,在创建config/myGlobals.js文件之后,如何在views/layout.ejs中使用sails.config.myGlobalVariables.globalOne?这非常有用,@aludvigsen。但是,在创建config/myGlobals.js文件之后,如何在views/layout.ejs中使用sails.config.myGlobalVariables.globalOne?