首页 > php框架 > Laravel > 正文

一文详解laravel如何安装inertia vue3的版本

藏色散人
发布: 2022-01-27 09:19:35
转载
2311 人浏览过

下面由Laravel教程栏目给大家介绍laravel如何安装inertia vue3的版本,希望对大家有所帮助!

一、安装前要求

1.1 已安装laravel框架
1.2 已安装Node JS
1.3 已安装Npm包管理工具

二、服务端配置

2.1 第一步:composer安装inertia-laravel

$ composer require inertiajs/inertia-laravel
登录后复制

2.2 第二步:laravel目录resouces/views/新增app.blade.php文件,加入以下代码

<!DOCTYPE html><html>
    <head>
        <meta charset="utf-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
        <link href="{{ mix(&#39;/css/app.css&#39;) }}" rel="stylesheet"/>
        <script src="{{ mix(&#39;/js/app.js&#39;) }}" defer></script>
    </head>
    <body>
        @inertia    </body></html>
登录后复制

2.3 第三步:执行artisan命令,添加中间件

$ php artisan inertia:middleware
登录后复制

文件生成后,手动添加到Kernel文件中的web中间件组最后一行

'web' => [
    // ...
    \App\Http\Middleware\HandleInertiaRequests::class,],
登录后复制

三、客户端配置

3.1第一步:使用npm命令安装前端框架依赖,安装VUE3版本。

$ npm install @inertiajs/inertia @inertiajs/inertia-vue3
登录后复制

3.2第二步:初始化应用
打开/resouces/js/app.js,清空后覆盖以下代码

import { createApp, h } from 'vue'import { createInertiaApp } from '@inertiajs/inertia-vue3'createInertiaApp({
  resolve: name => require(`./Pages/${name}`),
  setup({ el, app, props, plugin }) {
    createApp({ render: () => h(app, props) })
      .use(plugin)
      .mount(el)
  },})
登录后复制

3.3第三步:npm安装进度条包
  使用inertia做出来的页面,浏览器不会刷新,为了用户感知增加了页面顶部进度条这种友好的提示[脑补一下]

$ npm install @inertiajs/progress
登录后复制

安装完成后,引入并初始化,打开/resouces/js/app.js,清空后覆盖以下代码

import { createApp, h } from 'vue'import { createInertiaApp } from '@inertiajs/inertia-vue3'import { InertiaProgress } from '@inertiajs/progress'createInertiaApp({
    resolve: name => import(`./Pages/${name}`),
    setup({ el, app, props, plugin }) {
        createApp({ render: () => h(app, props) })
            .use(plugin)
            .mount(el)
    },})InertiaProgress.init()
登录后复制

3.4 第四步 使用以下 webpack 配置来强制浏览器在文件更新后,加载新的资源,而不是使用缓存。
打开webpack.mix.js,清空并覆盖以下代码

const mix = require('laravel-mix');mix.js('resources/js/app.js', 'public/js')
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);mix.webpackConfig({
    output: {
        chunkFilename: 'js/[name].js?id=[chunkhash]',
    }});
登录后复制

四、安装VUE

第一步 使用npm命令安装vue最新稳定版

$ npm install vue@next
登录后复制

第二步 添加.vue()到webpack.mix.js

const mix = require('laravel-mix');mix.js('resources/js/app.js', 'public/js')
    .vue()
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);mix.webpackConfig({
    output: {
        chunkFilename: 'js/[name].js?id=[chunkhash]',
    }});
登录后复制

第三步通过npm命令运行

$ npm run watch
登录后复制

如果报错

60f637e51f6f2b3ed749273ccd11913.png

解决:升级vue-loader,执行

$ npm i vue-loader
登录后复制

如果还报错

26f8031092ca35ff367f4c64f49ceb5.png

解决:resouces/js目录下新增Pages文件夹。

成功状态

d3625545e80cd948e71c79d0df55e0e.png

推荐学习:《laravel视频教程

以上是一文详解laravel如何安装inertia vue3的版本的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:learnku.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!