首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >向工具栏模板传递全局配置变量的最佳方法是什么?

向工具栏模板传递全局配置变量的最佳方法是什么?
EN

Stack Overflow用户
提问于 2015-02-19 16:19:45
回答 2查看 4K关注 0票数 4

我有一个带有快捷键的nodejs应用程序,我想为诸如CSS和Javascript的“主机”地址这样的东西定义变量,这些地址目前正在被导入到一个header.hbs文件中,我在特定的布局中调用了这个文件。

我创建了一个config.js文件,其中包含许多我希望设置的变量,并使用以下方法将其导入到app.js中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var config = require('./config.js');

但后来我迷失了方向。例如,我在想,如果我能做一些这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <link href="{{config.csshost}}basev1.css" rel="stylesheet" type="text/css" /> 

除了每次加载模板时都声明这些变量之外,其他人还能提供一些指针吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-19 17:08:59

您可以设置应用程序局部变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var app = express()

app.locals = {
     config: config,
     templateVar: 'test'
 }

编辑:

你的路线会是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.get('/', function(req, res) {
  res.render('index', {config: config});
})

然后,在express中更新app.locals变量如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.locals = {
   config: config
}

然后,可以通过以下方式在模板中访问所有app.local变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{{config}}

//which is really
app.locals['config']

因此,在配置express的app.js中,您可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var app = express();

app.locals.config = require('./config')

app.get('/', function(req, res) {
  return res.render('index')
})
票数 6
EN

Stack Overflow用户

发布于 2015-07-04 22:06:41

(这应该是上面sctskw's answer的一个评论,但我没有足够的声誉去这么做。)

与其用新对象覆盖app.locals,不如将新属性添加到现有属性中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.locals.config = config;
app.locals.templateVar = 'test';

原因是Express在内部使用app.locals。覆盖它将失去Express提供的一些有用的变量。例如,我们可以使用settings.env来检测视图模板中当前运行的环境,该模板由Express定义为app.locals.settings.env

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28619582

复制
相关文章
ThinkPHP5学习002-向模板中传递变量
在模板中输出变量的值,使用{},其中no,name就是控制器传递给模板的两个变量名
哆哆Excel
2022/10/25
1.3K0
ThinkPHP5学习002-向模板中传递变量
全局变量是什么意思?全局变量的缺点是什么
很多人会发现,在编程中我们经常会看见全局变量,但是往往我们是不太了解的,因为有些人总觉得全局变量听上去有些太过于学术化了,但其实我们在了解了之后,会发现全局变量也没有我们想象中的那么高深莫测,下面我们就对于全局变量进行一个介绍。
用户8739990
2021/07/12
2.4K0
全局变量是什么意思?全局变量的缺点是什么
Django设置全局模板变量
最近由于需要,之前做的一个项目需要将图片文件转移至COS对象储存,因为服务器网络不行,图片加载太慢。经过一番猛如虎的操作,目的还是达到了。
SingYi
2022/07/14
9450
Django设置全局模板变量
PHP变量传递值的方法
变量的传值方式,是指一个变量传给另一个变量的内部细节形式——单对单. 值传递 互相独立,互不影响. <?php $v1 = 1; $v2 = $v1; // 值传递
小新哟
2020/09/23
2.8K0
PHP变量传递值的方法
mpvue 全局变量在HTML模板<template> 的应用
我们在开发项目时,经常用到的就是全局变量,在vue.js项目中,只要在main.js设置好全局变量后,在所有的页面方法和模板中都可以引用,把vue.js项目中的代码直接拷贝到mpvue时,发现在模板中不可用,下面解决方案:
honey缘木鱼
2019/03/15
2.1K0
java全局变量的定义和声明_定义全局变量的方法
JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意: 一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中赋值(当然实例变量是不行的);
全栈程序员站长
2022/09/24
6.4K0
【说站】js全局变量是什么
js全局变量是什么 说明 1、全局作用域声明的变量称为全局变量(函数外部定义的变量)。 2、代码的任何位置都可以使用全局变量,var声明的变量在全局作用域是全局变量。 特殊情况下,函数中不使用var声明的变量也是全局变量(不建议使用) 实例 // 1.全局变量:在全局作用域下的变量在全局下都可以使用 var num = 10; // num就是一个全局变量 console.log(num); // 打印10 function fn() { console.log(num);// 打印10 } fn();
很酷的站长
2022/11/24
2.5K0
【说站】js全局变量是什么
smarty 模板中定义变量的方法
{assign var="i" value=0} {foreach name=simple_tab from=$zhinan_cate key=key item=item} {if $i} <small>|</small> {/if} {if $item['count']} {math assign="i" equation="x + y" x=$i y=1} <span><a title="{$segment_parent}期{$it
零式的天空
2022/03/02
1.7K0
java静态全局变量和全局变量的区别_java静态全局变量
Java的面向对象的代码结构会使在多个位置引用变量更加困难。有时也很难确定给定变量应属于哪个类,尤其是当它是一个广泛使用的值(例如数据库连接器或数学常数)时。
全栈程序员站长
2022/09/24
4.5K0
java静态全局变量和全局变量的区别_java静态全局变量
实施ERP的最佳方法是什么
也许您已决定加入潮流,并在公司中实施企业资源计划或ERP,或者您要从当前的ERP系统进行升级。令人恐惧的部分可能是进行更改。您应该放弃所有内容并立即启动ERP还是可以分阶段实施?
深圳ERP
2019/12/13
8970
实施ERP的最佳方法是什么
创建全局变量的一些方法
  它们之间的区别是Q_GLOBAL_STATIC定义的全局变量在首次使用时初始化。
Qt君
2020/03/19
1.4K0
全局变量的三种声明方法
显示true FWK未定义,说明隐式声明的全局变量可以被delete,与global对象的parseInt、escape、parseFloat等等类似,可直接被delete。
meteoric
2018/11/15
1K0
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
.29.
2023/10/25
2230
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
vue3 配置.env 全局变量
在配置运行vue、生成vue包使用对应的开发环境 修改package.json文件
tongyao
2022/06/09
1.5K0
vue3 配置.env 全局变量
Java静态全局变量与全局变量的区别[通俗易懂]
答:   全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。   由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。   static全局变量与普通的全局变量的区别是static全局变量只初始化一次,防止在其他文件单元被引用。
全栈程序员站长
2022/11/01
2.3K0
[Nginx] Nginx配置PHP应用传递PATH_INFO变量
fastcgi_split_path_info  ^(.+\.php)(/.*)$; 这种是贪婪匹配,具体区别看下图
唯一Chat
2022/02/19
8600
[Nginx] Nginx配置PHP应用传递PATH_INFO变量
html js 全局 变量,JS定义全局变量
在高级开发语言(如c#、Java)中可以很方便地使用“public”等关键字,定义应用程序中的全局变量,但JaVascript的变量只能存在于当前的方法中。本例通过一个简单的方法实现全局变量的定义。
全栈程序员站长
2022/09/06
15.7K0
html js 全局 变量,JS定义全局变量
确保云安全的最佳方法是什么?
随着云计算成为企业开展业务的一种基础技术,云安全已变得至关重要。然而,充分了解云安全的最佳策略是一个真正的挑战。
静一
2020/03/25
6940
确保云安全的最佳方法是什么?
点击加载更多

相似问题

向视图传递强类型变量的最佳方法是什么?

13

在Django中传递全局模板变量的正确方法是什么?

14

声明全局变量的最佳方法是什么?

83

创建全局变量的最佳方法是什么?

12

创建全局变量的最佳方法是什么?

29
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文