我需要从车把模板访问环境变量。我可以在其他地方使用环境变量,因此我知道它的设置正确。但是在运行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。
答案 0 :(得分:0)
我知道了。我只需要通过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}};