如何在Sails中访问资产中的全局



我正在使用Sails JS,并希望访问我的资产中的全局变量(Sails.config.myGlobs(,目前在JS文件中。

我本希望有一种类似的方式,比如在ejs文件中注入。但事实并非如此。

有什么想法吗?我必须为此做一个Grunt任务吗?

config文件夹中创建一个配置文件,例如MyConfig.js(名称无关紧要(。用你想要的东西填充这个配置。

module.exports.myconfig = {
  configA: 'this is config A'
}

在你的控制器中使用这个配置,比如。

showconfig: function(req, res){
  res.view('viewname', {
    config: sails.config.myconfig
  });
}

现在,在被调用的EJS文件中,例如views文件夹中的viewName.ejs,您可以像<% config.configA %>一样使用它,并且会打印this is config A。此外,如果您希望Front-End-js(在assets文件夹中(能够读取该值,只需将其打印在script标记中,如下所示。

<script>
  global.configA = '<%= config.configA %>';
</script>

或者,如果您使用前端框架库,它可以放在一些valueservicefactory下,而不会使全局变量变脏,因此其他JS可以读取该值。

我认为Sails不可能做到这一点。

但是,您可以在ejs视图文件中设置变量,以访问其在js资产文件中的值。

// someView.ejs
<script>
    myGlobals = '<%= config.myGlobals %>';
</script>

相关内容

  • 没有找到相关文章

最新更新