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 @@ + + \ 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', + }); + */