【问题标题】:How to link assets which are inside of module in Laravel?如何链接 Laravel 模块内部的资产?
【发布时间】:2017-01-18 06:43:30
【问题描述】:

我在使用模块时无法提供图片、css、javascript 等资产。每个模块在该特定模块的资源文件夹内都有每组资产,例如 javascript、css、图像,并且我刚刚编译到模块的公共文件夹内。我无法提供链接到该资产的问题。

我是这样提供链接的

<link href="{{ asset('modules/robust/core/public/admin/css/app.css') }}" rel="stylesheet">

它显示了这种结果

我认为我应该为模块资产定义自定义路径但我不知道该怎么做。请帮帮我。

文件夹结构是这样的。

【问题讨论】:

  • 你能解释一下你的意思我在使用模块时无法提供图片、css、javascript等资产。你说的是什么模块?
  • 我正在谈论使用 laravel 的自定义模块,例如博客、产品、页面模块等。每个模块都有自己的资产路径。
  • 你可以尝试使用{{ url('modules/robust/core/public/admin/css/app.css') }}方法一次吗?
  • @prateekkathal 文件夹结构是这样的,我包括在上面。
  • 是的,我试过但没有工作,在控制台中没有发现异常。

标签: php css laravel module assets


【解决方案1】:

根据我们在 cmets 中的谈话,我建议你按以下方式划分你的项目

  • 应用程序/模块/

    • 博客/
    • 核心/
    • 等等.../
  • 公开/

    • 博客/css
    • 博客/js
    • 博客/图片
    • 核心/css
    • 核心/js
    • 核心/图像
    • 等.../css
    • 等.../js
    • 等.../图像

然后在Controller中使用这样的命令

$this->loadViewsFrom()

在 View 中,您可以使用它

{{ asset('blog/images/myimage.jpg') }}

如果有更多问题,请在下面评论告诉我:)

很高兴我能帮上忙:D

【讨论】:

  • 感谢您的帮助!好的,如果发生任何问题,我会告诉你的!
【解决方案2】:

您可以在 route.php 文件中创建路由路径:

Route::get('/assets/{module}/{type}/{file}', [ function ($module, $type, $file) {
    $module = ucfirst($module);

    $path = app_path("Modules/$module/Resources/Blocks/$type/$file");

    if (\File::exists($path)) {
        return response()->download($path, "$file");
    }

    return response()->json([ ], 404);
}]);

【讨论】:

  • 好用。谢谢。
【解决方案3】:
{{ Module::asset('blog:js/script.js') }}

这假设您的脚本位于 /Modules/ModuleName/Assets/js/script.js。如果不在文件夹中,只需省略资产调用中的 js/ 部分即可。

【讨论】:

  • YOur 答案是当有人使用 nWidart/laravel-modules 包时工作。它不适用于 caffeinated/modules 包。
  • 哦,是的,只有 nWidart/laravel-modules 包。
  • 因为我正在使用 caffeinated/modules 包并卡在这里所以我想找到解决方案。
【解决方案4】:

使用这个命令:

php artisan module:publish 

并像这样获取资产文件:

{{ Module::asset('blog:js/script.js') }}

【讨论】:

  • 您是否设置了“博客”而不是您的模块名称?这对我有用。 {{ Module::asset('blog:js/script.js') }}
猜你喜欢
  • 2015-12-18
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多