net*_*ull 6 laravel vuetify.js laravel-jetstream
我正在尝试在最新的 Laravel 版本 (8) 上安装 Vuetify,但我无法做到。即使控制台没有显示任何错误,它似乎也不起作用。
那是我的资源/插件/vuetify.js
import Vue from 'vue'
// import Vuetify from 'vuetify'
import Vuetify from 'vuetify/lib'
// import 'vuetify/dist/vuetify.min.css'
Vue.use(Vuetify)
const opts = {}
export default new Vuetify(opts)
Run Code Online (Sandbox Code Playgroud)
我的webpack.mix.js:
const mix = require('laravel-mix')
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
mix
.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
require('tailwindcss'),
])
.webpackConfig({
plugins: [
new VuetifyLoaderPlugin()
],
})
.browserSync('tb8.test');
Run Code Online (Sandbox Code Playgroud)
在app.js
import PortalVue from 'portal-vue';
Vue.use(InertiaApp);
Vue.use(InertiaForm);
Vue.use(PortalVue);
Vue.use(vuetify);
const app = document.getElementById('app');
new Vue({
vuetify,
render: (h) =>
h(InertiaApp, {
props: {
initialPage: JSON.parse(app.dataset.page),
resolveComponent: (name) => require(`./Pages/${name}`).default,
},
}),
}).$mount(app);
Run Code Online (Sandbox Code Playgroud)
和welcome.blade.php
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Nunito';
}
</style>
</head>
<body class="antialiased">
<div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0">
@if (Route::has('login'))
<div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
@auth
<a href="{{ url('/dashboard') }}" class="text-sm text-gray-700 underline">Dashboard</a>
@else
<a href="{{ route('login') }}" class="text-sm text-gray-700 underline">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 underline">Register</a>
@endif
@endif
</div>
@endif
<v-app>
<v-main>
Hello World
</v-main>
</v-app>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
谁能帮我找出错误在哪里?先感谢您
瓦莱里奥
Sht*_*vik 13
新鲜的 Laravel 8.12 + Jetstream + Inertia + VueJs + Vuetify
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
import Vuetify from 'vuetify';
import 'vuetify/dist/vuetify.min.css';
Vue.use(Vuetify)
Run Code Online (Sandbox Code Playgroud)
而
vuetify: new Vuetify(),之后的“新的Vue({”是这样的:
require('./bootstrap');
import Vue from 'vue';
import Vuetify from 'vuetify';
import { InertiaApp } from '@inertiajs/inertia-vue';
import { InertiaForm } from 'laravel-jetstream';
import PortalVue from 'portal-vue';
import 'vuetify/dist/vuetify.min.css';
Vue.mixin({ methods: { route } });
Vue.use(InertiaApp);
Vue.use(InertiaForm);
Vue.use(PortalVue);
Vue.use(Vuetify)
const app = document.getElementById('app');
new Vue({
vuetify: new Vuetify(),
render: (h) =>
h(InertiaApp, {
props: {
initialPage: JSON.parse(app.dataset.page),
resolveComponent: (name) => require(`./Pages/${name}`).default,
},
}),
}).$mount(app);
Run Code Online (Sandbox Code Playgroud)
之后,例如,您可以像这样创建 vuetify 组件:
/resources/js/Components/NavigationDrawers.vue使用来自 Vuetify labrory 的代码
在 /resources/js/Pages/Dashboard.vue 中初始化这个 vue 组件,就像
<navigation-drawers/>
call
import NavigationDrawers from '@/Components/NavigationDrawers'
和
NavigationDrawers
in<script>
例子:
<template>
<app-layout>
<navigation-drawers/>
....
....
</app-layout>
</template>
<script>
import NavigationDrawers from '@/Components/NavigationDrawers'
import AppLayout from '@/Layouts/AppLayout'
import Welcome from '@/Jetstream/Welcome'
export default {
components: {
AppLayout,
Welcome,
NavigationDrawers,
},
}
</script>
Run Code Online (Sandbox Code Playgroud)
它可以帮助您为您的项目设置 vuetify。Sass 和其他配置,您可以自行配置。
Bin*_*aya 10
目前 Vuetify 不适用于 vue 3,因此要安装 vuetify,您必须使用 vue 2。为此:我们可以安装 vue 2 附带的 jetstream 2.1。我在下面描述了安装过程:
Youtube视频:https://youtu.be/V8_yLfNhg2I
安装 laravel
composer create-project laravel/laravel project_name
Run Code Online (Sandbox Code Playgroud)
现在转到composer.json文件并在require:{}中添加一行,其余的composer 文件应该相同。
“laravel/jetstream”:“2.1”,
添加composer.json 的“require”部分后将如下所示:
"require": {
"php": "^7.3|^8.0",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^8.40",
"laravel/tinker": "^2.5",
"laravel/jetstream": "2.1",
},
Run Code Online (Sandbox Code Playgroud)
现在运行作曲家更新
现在运行php artisan jetstream:安装惯性
现在运行npm install
现在运行npm install vuetify
转到resources/css/app.css并添加以下内容
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900');
@import url('https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css');
@import "vuetify/dist/vuetify.min.css";
Run Code Online (Sandbox Code Playgroud)
现在转到resources/js/app.js并添加以下代码:
require('./bootstrap');
// Import modules...
import Vue from 'vue';
import { App as InertiaApp, plugin as InertiaPlugin } from '@inertiajs/inertia-vue';
import PortalVue from 'portal-vue';
//add these two line
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'
Vue.mixin({ methods: { route } });
Vue.use(InertiaPlugin);
Vue.use(PortalVue);
//also add this line
Vue.use(Vuetify);
const app = document.getElementById('app');
new Vue({
//finally add this line
vuetify: new Vuetify(),
render: (h) =>
h(InertiaApp, {
props: {
initialPage: JSON.parse(app.dataset.page),
resolveComponent: (name) => require(`./Pages/${name}`).default,
},
}),
}).$mount(app);
Run Code Online (Sandbox Code Playgroud)
现在运行npm run dev
这时候你的 vuetify 就可以工作了!
要检查带有惯性 js 的vuetify是否正常工作,请按照以下步骤操作:
转到resources/js/Pages并创建新文件名test.vue
将以下代码添加到test.vue
<template>
<v-app>
<v-container>
<v-btn>Click Me!</v-btn>
</v-container>
</v-app>
</template>
Run Code Online (Sandbox Code Playgroud)
现在运行npm run dev
现在转到route/web.php并添加
Route::get('/', function () {
return Inertia::render('test');
});
Run Code Online (Sandbox Code Playgroud)
现在php artisan 可以在浏览器中运行。并且不要忘记添加 migrate 并将数据库添加到.env
| 归档时间: |
|
| 查看次数: |
7262 次 |
| 最近记录: |