How does express-handlebars pass global variables to templates?

  node.js, question

In learning express.js, I used the express-handlebars engine. Now I want to pass some global variables to the template inside. See
Npm insideexpress-handlebarsSome relevant information was found in the documents of:

Metadata Handlebars has a data channel feature that propagates data
through all scopes, including helpers and partials. Values in the data
channel can be accessed via the {{@variable}} syntax. Express
Handlebars provides metadata about a template it renders on a
{{@exphbs}} object allowing access to things like the view name passed
to res.render() via {{@exphbs.view}}.

The following is the list of metadata that’s accessible on the
{{@exphbs}} data object:

cache:Boolean whether or not the template is cached.
view:String name of the view passed to res.render().
layout:String name of the layout view.
data:Original data object passed when rendering the template.
helpers:Collection of helpers used when rendering the template.
partials:Collection of partials used when rendering the template.

I would like to ask, how is this usage? Or is there another way? Thank you very much!

To be honest,metadataI don’t quite understand this passage. However, I do know a little about setting global variables:

var app = express();
 
 //Set global variable sayHi
 app.locals.sayHi = 'Hello World!'  ;
 
 app.engine('handlebars', exphbs({defaultLayout: 'main'}));
 app.set('view engine', 'handlebars');
 
 app.get('/', function(req, res) {
 res.render('home');
 });
<h1>Example App: Home</h1>
 <p>
 {{sayHi}}
 </p>

SayHi variable is used here