VueX
تتيح لك هذه الإضافة التقاط التغييرات (mutations)/الحالة (state) الخاصة بـ VueX وفحصها لاحقًا أثناء إعادة تشغيل تسجيلات الجلسات. وهذا مفيد جدًا لفهم المشكلات وإصلاحها.
التثبيت
Section titled التثبيتnpm i @openreplay/tracker-vuex
الاستخدام
Section titled الاستخدامقم بتهيئة الحزمة @openreplay/tracker كالمعتاد وحمّل الإضافة فيها. ثم ضع الإضافة المُنشأة في الحقل plugins الخاص بالمتجر (store).
إذا كان موقعك تطبيقًا أحادي الصفحة (SPA)
Section titled إذا كان موقعك تطبيقًا أحادي الصفحة (SPA)import Vuex from 'vuex'
import trackerVuex from '@openreplay/tracker-vuex';
import { tracker } from '@openreplay/tracker';
tracker.configure({
projectKey: 'YOUR_PROJECT_KEY',
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});
إذا كان تطبيق الويب الخاص بك يتم تصييره من جانب الخادم (SSR)
Section titled إذا كان تطبيق الويب الخاص بك يتم تصييره من جانب الخادم (SSR)اتبع المثال أدناه إذا كان تطبيقك يعمل بنظام SSR. تأكد من أن المتتبع (tracker) يعمل في بيئة المتصفح. راجع قسم استكشاف الأخطاء وإصلاحها إذا واجهت أخطاء مع SSR.
import Vuex from 'vuex'
import OpenReplay from '@openreplay/tracker/cjs';
import trackerVuex from '@openreplay/tracker-vuex/cjs';
//...
const tracker = new OpenReplay({
projectKey: PROJECT_KEY,
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
// ... options
});
مع إصدار tracker-vuex أعلى من 4.0.0
Section titled مع إصدار tracker-vuex أعلى من 4.0.0// check list of available options below
const vuexPlugin = tracker.use(trackerVuex(<options>));
// add a name to your store, optional (will be randomly generated otherwise)
const storeTracker = vuexPlugin('STORE NAME')
const store = createStore({
state,
mutations,
plugins: [storeTracker]
})
مع إصدار tracker-vuex أقل من 3.0.0
Section titled مع إصدار tracker-vuex أقل من 3.0.0// check list of available options below
const vuexPlugin = tracker.use(trackerVuex(<options>));
tracker.start();
const store = new Vuex.Store({
//...
plugins: [vuexPlugin],
});
الخيارات
Section titled الخياراتيمكنك تخصيص سلوك الإضافة باستخدام خيارات لتنقية بياناتك. وهي مشابهة للخيارات الموجودة في الإضافة القياسية createLogger.
trackerVuex({
filter (mutation, state) {
// returns `true` if a mutation should be logged
// `mutation` is a `{ type, payload }`
return mutation.type !== "aBlacklistedMutation";
},
transformer (state) {
// transforms the state before logging it.
// for example return only a specific sub-tree
return state.subTree;
},
mutationTransformer (mutation) {
// mutations are logged in the format of `{ type, payload }`
// we can format it any way we want.
return mutation.type;
},
})
الشرح التعليمي
Section titled الشرح التعليميإذا كنت تبحث عن مثال عملي حول كيفية استخدام هذه الإضافة لالتقاط تغييرات الحالة في عمليات إعادة تشغيل الجلسات الخاصة بك، فاطّلع على شرحنا التفصيلي هنا.
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟هل تواجه مشكلة في إعداد هذه الإضافة؟ يُرجى الانضمام إلى Slack الخاص بنا أو زيارة المنتدى للحصول على المساعدة من مجتمعنا.