【问题标题】:Access environment variables in handlebar template访问车把模板中的环境变量
【发布时间】:2019-04-25 13:42:39
【问题描述】:

我需要从车把模板访问环境变量。我可以在其他地方使用我的环境变量,所以我知道它设置正确。但是在我运行 browserify 之后,我的 index.html 页面只显示 g.src = process.env.MTM; 而不是 g.src = myEnvironmentVariable

这是我模板中的相关代码:

    <script type="text/javascript">           
        var _mtm = _mtm || [];
        _mtm.push(
        {
            'mtm.startTime': (new Date().getTime()),
            'event': 'mtm.Start'
        });
        var d = document,
            g = d.createElement('script'),
            s = d.getElementsByTagName('script')[0];
        g.type = 'text/javascript';
        g.async = true;
        g.defer = true;
        g.src = process.env.MTM;
        s.parentNode.insertBefore(g, s);
    </script>

我收到一条错误消息,提示未定义进程。

(index):28 Uncaught ReferenceError: process is not defined

有没有办法做到这一点?我会以错误的方式解决这个问题吗?我需要根据我正在编译的环境将 g.src 设置为不同的 URL。

【问题讨论】:

标签: javascript vue.js handlebars.js


【解决方案1】:

我想通了。我只需要通过 gulp 将它传送到模板。

return gulp

    .pipe(hb()            
        .data({
            version: pkg.version,
            date: new Date().toISOString(),
            env: process.env.NODE_ENV,
            mtmUrl: process.env.MTM,
            serverData,
        })           

然后我能够像这样访问它:

g.src= {{mtmUrl}};

【讨论】:

    猜你喜欢
    • 2021-07-31
    • 2019-02-07
    • 1970-01-01
    • 2015-08-26
    • 2015-12-24
    • 2016-06-23
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    相关资源
    最近更新 更多