node.js - 我在其中创建或修改 View 的全局变量(ejs)

标签 node.js express sails.js ejs

我需要修改变量“<%= title %> ”,但我不知道他们在哪里创建变量或我可以在哪里更改它。

我想知道可以在 View 中找到其他全局变量,例如变量 <%= session %> 我没有在 View 中发送,但由于某种原因已经存在。在“express”中,它让我感动,做了如下的事情:

"res.render('session/new', {title: "Log in", session: req.session}); "

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

提前非常感谢您的帮助。

最佳答案

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

局部变量

Sails.js 构建在 ExpressJS 之上,并使用许多相同的技术将数据发送到 View 。例如,要将局部变量发送到上下文中的 View :

在你的 Controller 中:

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

全局变量

Sails.js 已经有一些全局变量。 title 也许就是其中之一。例如,sails 是一个全局变量。您可以将自己的自定义变量附加到该变量。为此:

  • config文件夹中创建一个新文件。
  • 将其命名为您喜欢的任何名称,并使用module.exports约定。

在您的 config/myGlobals.js 文件中:

module.exports.myGlobalVariables = {
    globalOne: "This is a string",
    globalTwo: function(){ return "myGlobal"; }
}

现在您可以使用以下方法在所有 Controller / View 中访问这些变量:

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

关于node.js - 我在其中创建或修改 View 的全局变量(ejs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300134/

相关文章:

javascript - 如何在 Node.js 中实现递归 Promise 调用

arrays - 检查数组是否包含angularjs中的值

node.js - Node-soap 找不到调度方法

javascript - 如何在 Express JS 的不同文件中创建自己的异步函数

javascript - 如何从nodeJS中的子文件中获取与父文件夹相同的目录中的文件的绝对路径

node.js - 无法修复 - events.js :183 throw er;//Unhandled 'error' event

express - axios PUT 调用无法正常工作,收到 415

mongodb - 如何在 sails js 框架中执行不区分大小写的排序?

logging - winston 文件传输日志转义字符

javascript - Sails.js 中非持久模型的最佳实践?