npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@virage-dev/nuxt-yandex-metrika

v0.0.4

Published

<!-- Find and replace all on all files (CMD+SHIFT+F): - Name: Yandex Metrika by Virage - Package name: @virage-dev/nuxt-yandex-metrika - Description: Yandex Metrika for Nuxt 3 -->

Downloads

246

Readme

Yandex Metrika для Nuxt 3

npm version npm downloads License Nuxt

Установка

  1. Добавьте зависимость @virage-dev/nuxt-yandex-metrika
# npm
npm install --save-dev @virage-dev/nuxt-yandex-metrika

# pnpm
pnpm add -D @virage-dev/nuxt-yandex-metrika
  1. Добавьте модуль @virage-dev/nuxt-yandex-metrika в файл конфигурации nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    // другие модули...
    "@virage-dev/nuxt-yandex-metrika"
    ],
});

Настройки

После установки модуля в конфигурации nuxt появится ключ yandexMetrika

Параметры

| Параметр | default | Тип | Описание | | ------------ | --------------------------------------- | ---------------- | ---------------------------------------------- | | id | undefined | string | id метрики | | debug | process.env.NODE_ENV !== "production" | boolean | Контролирует работу логирования методов | | delay | 0 | number | Откладывает подключение скрипта метрики (ms) | | cdn | false | boolean | Использовать ли CDN версию скрипта метрика | | verification | null | string \| null | ??? | | options | { webvisor: true } | options | Настройки метрики |

В дев сборке реальных запросов в метрику происходить не будет

Параметр options - настройки метрики

| Name | Default value | Type | Description | | ------------------- | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | accurateTrackBounce | true | Boolean | Number | Accurate bounce rate The parameter can accept these values: true — Enable the accurate bounce rate, with a non-bounce event registered after 15000 ms (15 s). false — Don't enable the accurate bounce rate. (integer) — Enable the accurate bounce rate. Non-bounce events are recorded after ms. | | childIframe | false | Boolean | Whether to record iframe contents without a tag in a child window | | clickmap | true | Boolean | Whether to collect data for a click map | | defer | false | Boolean | Whether to disable automatically sending data during tag initialization | | ecommerce | false | Boolean | String | Array | Collect data for e-commerce — Ecommerce. true — Enable e-commerce data collection. Data is transmitted via a JavaScript array named dataLayer in the global namespace (window.dataLayer) false — Disable Ecommerce data collection. (String) — Enable Ecommerce data collection. Data is transmitted via a JavaScript array named in the global namespace (window.) (Array) — Enable Ecommerce data collection. Data is transmitted via a JavaScript | | params | — | Object | Array | Session parameters transmitted during tag initialization To transmit session parameters at any other time, use the params method | | userParams | — | Object | Parameters of site users that are transmitted when initializing the tag To transmit user parameters at any other time, use the userParams method | | trackHash | false | Boolean | Hash tracking in the browser's address bar | | trackLinks | true | Boolean | Track clicks on outbound links | | trustedDomains | — | Array | Indicates a trusted domain for recording the contents of a child iframe. Contains the domain address of the parent window | | type | 0 | Number | Tag type. 1 for YAN | | webvisor | false | Boolean | Whether to use Session Replay | | triggerEvent | false | Boolean | Whether to check if the tag is ready |

For more information:

Параметры по умолчанию

{
  // Ниже приведены настройки по умолчанию
  yandexMetrika: {
    id: undefined,
    debug: process.env.NODE_ENV !== "production",
    delay: 0,
    cdn: false,
    verification: null,
    options: {
        accurateTrackBounce: true,
        childIframe: true,
        clickmap: true,
        defer: false,
        ecommerce: false,
        trackHash: false,
        trackLinks: true,
        webvisor: false,
        triggerEvent: false,
        sendTitle: true,
    },
  }
}

Динамический id метрики

Если ваш id метрики меняется в зависимости от условий, используйте функцию init, чтобы проинициализировать метрику с нужным id. Желательно вызывать инициализацию внутри плагина Nuxt.

export default defineNuxtPlugin({
  setup() {
    if (import.meta.client) {
      const { init } = useYandexMetrika();
      init(getMetrikaId());
    }
  },
});
<script setup lang="ts">

const { reachGoal } = useYandexMetrika();

</script>

<template>
    <button @click="reachGoal('click', {})">click</button>
</template>

Разработка / Поддержка

Используйте pnpm

# Установка зависимостей
pnpm install

# Подготовить песочницу (обязательно перед первым запуском)
pnpm run dev:prepare

# Запуск песочницы
pnpm run dev


# ESLint
pnpm run lint

# Vitest
pnpm run test
pnpm run test:watch

# Сделать релиз
pnpm run release