Feedback widget for VuePress
PushFeedback collects user feedback directly from your website. This guide covers installation in a VuePress project.

Prerequisites
Before you begin, you need:
- A PushFeedback account. If you don't have one, sign up for free.
- A project created in your PushFeedback dashboard. If you haven't created one yet, follow the steps in the Quickstart guide.
- A VuePress site and Node.js installed.
Installation
-
Install PushFeedback:
npm install pushfeedbackinfoIf you're using yarn as your package manager, run
yarn add pushfeedbackinstead of the npm command above. -
Create a client app enhancement file. In your
.vuepressdirectory, create a file namedenhanceApp.js(orclientAppEnhance.jsfor VuePress 2.x):For VuePress 1.x (
.vuepress/enhanceApp.js):import 'pushfeedback/dist/pushfeedback/pushfeedback.css';export default ({ Vue, options, router, siteData }) => {if (typeof window !== 'undefined') {import('pushfeedback/loader').then(module => {module.defineCustomElements(window);});}};For VuePress 2.x (
.vuepress/client.js):import { defineClientConfig } from '@vuepress/client';import 'pushfeedback/dist/pushfeedback/pushfeedback.css';export default defineClientConfig({async enhance({ app, router, siteData }) {if (typeof window !== 'undefined') {const { defineCustomElements } = await import('pushfeedback/loader');defineCustomElements(window);}},}); -
Create a global component to display the feedback button. Create a file
.vuepress/components/FeedbackButton.vue:<template><feedback-buttonproject="<YOUR_PROJECT_ID>"button-position="bottom-right"modal-position="bottom-right"button-style="dark">Feedback</feedback-button></template><script>export default {name: 'FeedbackButton'};</script>Replace
<YOUR_PROJECT_ID>with your project's ID from the PushFeedback dashboard. -
Add the component to your theme's layout or to individual pages. For a global approach, modify your theme's
Layout.vuefile or create a custom layout:<template><div id="app"><Content /><FeedbackButton /></div></template><script>import FeedbackButton from '../components/FeedbackButton.vue';export default {components: {FeedbackButton}};</script> -
Start your VuePress project by running
npm run devoryarn devin your terminal. Once it compiles successfully, verify that the feedback button appears and functions correctly on your site.