diff --git a/.gitignore b/.gitignore
index e29f175..ca09d31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,9 @@ nbproject
# Other ignores
.DS_Store
+
+# Node ignores
+node_modules
+
+# Assets ignores
+assets/js/*
diff --git a/Plugin.php b/Plugin.php
index 5223da5..664f5f0 100644
--- a/Plugin.php
+++ b/Plugin.php
@@ -99,6 +99,11 @@ public function registerNavigation()
'icon' => 'icon-database',
'url' => Backend::url('winter/test/locations'),
],
+ 'vue' => [
+ 'label' => 'Vue',
+ 'icon' => 'icon-cube',
+ 'url' => Backend::url('winter/test/vue'),
+ ],
],
],
];
diff --git a/assets/src/js/app.js b/assets/src/js/app.js
new file mode 100644
index 0000000..3b06ca2
--- /dev/null
+++ b/assets/src/js/app.js
@@ -0,0 +1,8 @@
+import { createApp } from 'vue'
+import Welcome from './components/Welcome'
+
+const app = createApp({})
+
+app.component('welcome', Welcome)
+
+app.mount('#app')
diff --git a/assets/src/js/components/Welcome.vue b/assets/src/js/components/Welcome.vue
new file mode 100644
index 0000000..912e3ea
--- /dev/null
+++ b/assets/src/js/components/Welcome.vue
@@ -0,0 +1,11 @@
+
+ {{ title }}
+
+
\ No newline at end of file
diff --git a/controllers/Vue.php b/controllers/Vue.php
new file mode 100644
index 0000000..99ea917
--- /dev/null
+++ b/controllers/Vue.php
@@ -0,0 +1,22 @@
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..d9ab54f
--- /dev/null
+++ b/package.json
@@ -0,0 +1,8 @@
+{
+ "dependencies": {
+ "vue": "^3.2.41"
+ },
+ "devDependencies": {
+ "vue-loader": "^16.8.3"
+ }
+}
diff --git a/winter.mix.js b/winter.mix.js
new file mode 100644
index 0000000..f70112a
--- /dev/null
+++ b/winter.mix.js
@@ -0,0 +1,14 @@
+const mix = require('laravel-mix');
+
+mix
+ // compile javascript assets for plugin
+ .js('assets/src/js/app.js', 'assets/js').vue({ version: 3 })
+
+ /*
+ // Polyfill for all targeted browsers
+ .polyfill({
+ enabled: mix.inProduction(),
+ useBuiltIns: 'usage',
+ targets: '> 0.5%, last 2 versions, not dead, Firefox ESR, not ie > 0',
+ });
+ */