当前位置: 首页 > 知识库问答 >
问题:

创建Laravel 5包时加载资产

公羊浩阔
2023-03-14

创建Laravel 5包时,如何加载CSS/JS文件等资产?我的工作包目前有控制器和视图,但是所有的CSS都放在每个视图的标题中,这不好。

编辑:谢谢你的回答,但也许我说得不太清楚。我的问题是关于Laravel包,而不是Laravel应用程序。在这种情况下,我使用服务提供商加载视图

// Views
$this->loadViewsFrom(__DIR__ . '/Views', 'packagename');

上面的一行放在register()方法中。

共有2个答案

单于煌
2023-03-14

根据医生的说法:

public目录包含前端控制器和您的资产(图像、JavaScript、CSS等)。

我通常的结构如下:

/public
    /css
    /js
    index.php

然后,您可以轻松地在刀片模板中添加以下资产:

<link rel="stylesheet" href="css/main.css">

最近我发现,在某些情况下,这将导致404。为确保始终加载资源,您可以使用:

<link rel="stylesheet" href="{{ asset('css/main.css') }}" >

关于这个问题的文档可以在这里找到,你可以参考之前回答的关于这个问题的问题。

马野
2023-03-14

来自发布包资产的文档:https://laravel.com/docs/5.4/packages#public-assets

公共资产您的包可能有JavaScript、CSS和图像等资产。要将这些资产发布到应用程序的公共目录,请使用服务提供商的publishes方法。在本例中,我们还将添加公共资产组标记,该标记可用于发布相关资产组:

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

现在,当包的用户执行vendor:publish命令时,您的资产将被复制到指定的发布位置。由于您通常需要在每次更新包时覆盖资产,因此可以使用--force标志:

php artisan vendor:publish --tag=public --force
 类似资料:
  • 我可以从flutter应用程序的assets/Images目录加载图像,但当从flutter包的assets/Images目录加载相同的图像时,我会得到以下错误:

  • 很抱歉打扰你,我知道这个问题已经有人问过了,但我无法解决。我已经开始使用libgdx,并决定有一本书作为教程--“学习LigbGDX游戏开发”。这一切都很好,直到第4章,我不能装载资产到峡谷邦尼。包。我不知道发生了什么事。在../canyonbunny-android/assets/images中创建了两个文件-一个是png,另一个是atlas。如果你能帮我一把,我将非常欢迎。 控制台 影像包装.

  • 问题内容: 在我的应用程序中,我以这种方式加载资源: 这给了我: 当我从IDE运行我的应用程序时,但是当我运行应用程序的jar时,这可以很好地工作: 路径变为: 有什么办法解决这个问题? 我将使用“存储库”目录名称来创建此目录: 以相同的方式,我将获得一个文件名(而不是目录),并以这种方式使用它: 问题答案: 听起来你正在尝试使用或类似方法加载资源。不要那样做:不要调用,而是从中调用并读取数据。

  • 我知道已经有一些关于相对路径的问题,但是我总是无法让JavaFX FXML加载器从包本身以外的包加载资源。 加载类位于包gui.controllers中,fxml文件位于包中。我现在应该写什么: 提前谢谢

  • 了解网络下载资源的阶段至关重要。这是修复加载问题的基础。 TL;DR 了解资源时序的阶段。 知道每个阶段提供给Resource Timing(资源时序)API。 在时间轴图表中识别性能问题的不同指示。如连续的透明条或大块绿色。 所有网络请求都被视为资源。当它们通过网络检索时,分为不同的生命周期。Network(网络)面板使用的Resource Timing API和提供给开发者的API是一样的。注

  • 使用Network(网络)面板评估网站的网络性能。 Network(网络)面板记录在页面上有关每个网络操作的信息,包括详细的时序数据,HTTP请求和响应头,Cookie等。 TL;DR 使用Network(网络)面板记录和分析网络活动。 以聚合(所有类型)或单个资源类型查看负载信息。 过滤和排序资源的显示方式。 保存,复制和清除网络记录。 根据您的需要自定义Network(网络)面板。 Netwo