如何在自定义Laravel包中添加CSS和JavaScript文件

3

大家好,我正在使用Laravel开发我的第一个包,需要在包中添加一些CSS和JavaScript文件,请问有没有人能告诉我正确的做法。


2
你目前已经研究了什么?请在你的问题中提到。如果还没有,请阅读如何提问并提供一个可重现你问题的最小化、完整和可验证的示例 - Udayraj Deshmukh
3个回答

3
每当我编写 Laravel 包时,我都会努力将 JavaScript 编写在内部。
如果不行的话,我会使用 GitHub 的原始 URL 来加载 JavaScript/CSS 资源,并且直接在 Laravel 视图中进行加载。
这样,每当有人使用我的 Laravel 包并忘记或不知道执行 `php artisan vendor:publish` 命令(约85%),它仍然可以正常工作。

1
能否再详细解释一下?我正在尝试使用 React 做同样的事情,但是我不希望包的用户 publish 我的包。我想要直接从包内提供我的资产。你能指导我阅读一篇博客文章或者其他什么资料吗?谢谢。 - Saeed Neamati

3

您无法直接添加 Laravel 包中的资源,因此您需要首先使用 publish() 函数发布这些资源。

在您的服务提供者中进行操作。

/**
 *
 * @return void
 */
public function boot()
{
    $this->publishes([
        __DIR__.'/path/to/assets' => public_path('vendor/courier'),
    ], 'public');
}

然后在视图中使用asset()函数调用它

希望这能有所帮助。


1
根据 @laravel levaral 的建议,您需要先发布资产,然后在您的根目录中找到 public 文件夹。在 public 中,您可以创建“js”和“css”文件夹来存储这些文件。
为了在整个 Laravel 项目中访问您的资产,您只需要从您的 Blade 文件中使用 asset() 调用它即可。
对于 js 文件: 例如:<script src="{{ asset('js/app.js') }}"></script>
同样地,对于 css 文件: 例如:<link href="{{ asset('css/app.css') }}" rel="stylesheet">

谢谢,这正是我正在寻找的。 - user7428979

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接