如何使用jade文件中的google analytics

NSM*_*ing 27 google-analytics node.js pug

我想跟踪我网站的用户.由于我没有旧的HTML文件,我应该将给定的代码调整为jade语法,还是可以保持脚本不变并以某种方式包含它?

如果我需要将其转换为jade语法,可以通过某些工具自动生成.

<script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
   (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
   m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-X', 'domain.com');
  ga('send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)

BRo*_*ers 53

而不是让它寻找另一个代码文件并加载它.内联(像Trevor建议的更好).

为了实现这一点,你必须使用script.标签....不仅仅是script

见下文:

script.
            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

            ga('create', 'UA-11111111-1', 'yourdomain.com');
            ga('send', 'pageview');
Run Code Online (Sandbox Code Playgroud)

确保间距等实际上是从您的东西中缩进一个标签


NSM*_*ing 12

解决方案很简单.

第1步:我创建了一个名为"analytics.js"的文件,并将代码放在其中的脚本标记之间.不需要转换为jade语法.

第2步:我从jade文件中引用了脚本

script(src='/js/analytics.js')
Run Code Online (Sandbox Code Playgroud)

  • 这不是一个很好的解决方案.现在,您必须通过网络发送文件以进行分析.内联会好得多. (9认同)

Avn*_*rSo 6

如前所述,建议您在文件中直接插入GA片段,因为GA片段实际上会调用另一个文件(www.google-analytics.com/analytics.js),因此获取另一个js有点浪费文件,然后将获取Google的文件。

但是,如果您确实希望(并且应该)保持layout.jade整洁,则可以将BRogers编写的代码段(以“ script。”开头的代码段)放在单独的文件中,将其命名为googleAnalytics.jade,并在您的layout.jade中包括:

include partials/googleAnalytics
Run Code Online (Sandbox Code Playgroud)

(当然,局部视图是我对视图进行文件夹的方式,这取决于您)

这意味着GA代码段将包含在服务器上的页面中,为您节省了额外的GET,但仍使您的layout.jade保持整洁。


Pir*_*App 6

2019 GTag 更新

传统的 GA 脚本被这个新的 GTAG 脚本取代

script(async='', src='https://www.googletagmanager.com/gtag/js?id=UA-11111111-1')
script.
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'UA-11111111-1');
Run Code Online (Sandbox Code Playgroud)