如何优雅地修改 vendor 文件夹里的文件?或者达到相同的效果?

路径是这个:
vendor\beyondcode\laravel-websockets\resources\views\dashboard.blade.php
这个是我后安装的库,默认没有。
我想修改的代码是这条:

<script  src="https://cdn.plot.ly/plotly-latest.min.js"></script>

修改完是这样的:

<script  src="https://cdn.bootcdn.net/ajax/libs/plotly.js/2.17.0/plotly.min.js"></script>

不修改的话不那个啥需要很久才能加载完这个库,换了个 cdn 感觉整个世界都变美好了。

但是问题是这样直接修改感觉有点不够优雅。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

github.com/beyondcode/laravel-webs...

    /**
     * Register the dashboard components.
     *
     * @return void
     */
    protected function registerDashboard()
    {
        $this->loadViewsFrom(__DIR__.'/../resources/views/', 'websockets');

        $this->registerDashboardRoutes();
        $this->registerDashboardGate();
    }

源码已经标明了模板的命名空间,你只需要覆盖命名空间即可 app\Providers\AppServiceProvider.php

app('view')->prependNamespace('websockets', resource_path('views/websockets'));
1年前 评论
peace42 (楼主) 1年前
讨论数量: 13

扩展包开发《Laravel 9 中文文档》

看覆盖包视图,将原来的 blade 文件复制一份出来改掉。

1年前 评论
Athos 1年前
peace42 (楼主) 1年前
jatdung (作者) 1年前
peace42 (楼主) 1年前

修改vendor代码有两种方法: 1.git提交所有vendor包 2.基于官方composer包,自定义定制化的的composer包,然后替换所需的composer为自己定制化的。更优雅一点。 composer用法可以查看:docs.phpcomposer.com/00-intro.html

1年前 评论

$this->app->extend() 通过扩展这个包来达到此目的

1年前 评论
peace42 (楼主) 1年前
Aoyamakiri (作者) 1年前

扩展包开发《Laravel 9 中文文档》

看覆盖包视图,将原来的 blade 文件复制一份出来改掉。

1年前 评论
Athos 1年前
peace42 (楼主) 1年前
jatdung (作者) 1年前
peace42 (楼主) 1年前
alante
  1. 在github上边fork对应的仓库
  2. 修改为目标代码
  3. 在composer.json里边增加一项
    .
    .
    .
    "repositories": {
         "0": {
             "url": "你自己fork后的仓库地址",
             "type": "vcs"
         }
     }
    .
    .
    .
  4. 重新安装扩展包即可
1年前 评论

github.com/beyondcode/laravel-webs...

    /**
     * Register the dashboard components.
     *
     * @return void
     */
    protected function registerDashboard()
    {
        $this->loadViewsFrom(__DIR__.'/../resources/views/', 'websockets');

        $this->registerDashboardRoutes();
        $this->registerDashboardGate();
    }

源码已经标明了模板的命名空间,你只需要覆盖命名空间即可 app\Providers\AppServiceProvider.php

app('view')->prependNamespace('websockets', resource_path('views/websockets'));
1年前 评论
peace42 (楼主) 1年前

cweagans/composer-patches

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!