【问题标题】:Laravel Elixir pathsLaravel Elixir 路径
【发布时间】:2016-04-18 18:27:05
【问题描述】:

我使用 Elixir 来编译我的 less 文件

elixir(function(mix) {
mix.less([
    "../../../vendor/uikit/uikit/src/less/uikit.less",
    "main.less"
], 'public/css/style.css').version("public/css/style.css");
});

然后我尝试使用css文件

<link rel="stylesheet" type="text/css" href="{{ elixir('css/style.css') }}">

但我得到http://localhost:8080/build/css/style-a3ade8736f.css 404 (Not Found)

我使用 XAMMP,所以我的网址看起来像 http://localhost:8080/ad/public/

当我尝试在 css href 中添加 'piblic/' 字样时
&lt;link rel="stylesheet" type="text/css" href="public/{{ elixir('css/style.css') }}"&gt;
点赞时出错
http://localhost:8080/ad/public/public//build/css/style-a3ade8736f.css 404 (Not Found)

如何修复href?

【问题讨论】:

    标签: laravel laravel-elixir


    【解决方案1】:

    您可以在asset()url() 中调用Elixir 函数。

    像这样:

    {{ asset(elixir('css/style.css')) }}
    

    或者

    {{ url(elixir('css/style.css')) }}
    

    这个thread 解决了这个问题。

    【讨论】:

      【解决方案2】:

      asset()URL::Asset()中调用elixir函数

      gulpfile.js

      elixir(function(mix) {
          mix.less('app.less').version('css/app.css');
      });
      

      刀片

      <link rel="stylesheet" href="{{ asset( elixir('css/app.css') ) }}" charset="utf-8">
      

      【讨论】:

        【解决方案3】:

        elixir 函数希望您通过在 Gulpfile 中执行 version()have versioned the file

        elixir(function(mix) {
            mix.version("css/all.css");
        });
        

        【讨论】:

        • 是的,我在/public/build/css/style-23b9bf0277.css 有它,我只是不明白如何找到正确的路径。
        • @Heidel 检查public/build/rev-manifest.json 是否可写且正在更新。这就是elixir() PHP 函数获取要使用的哈希值的地方。
        • 是的,它是可写的并且也在更新中)问题是路径。
        【解决方案4】:

        我遇到了同样的问题,正在拔头发。看来这个问题是关于如何调用 URL 的稍微误导性的文档。在手册中,它指出一个简单的

        <link rel="stylesheet" href="{{ elixir('output/all.css') }}">
        

        应该是你所需要的,它应该自动调用正确的脚本。不幸的是,根据服务器的不同,上面的行可能会调用不正确的 URL,就像我的情况一样:

        <script src="/build/output/all-45ca09b2ad.css"></script>
        

        当我们需要的时候

        <script src="http://localhost/yourAlias/build/output/all-45ca09b2ad.css"></script>
        

        我能够通过像这样将调用包装在 HTML 样式块中来解决此问题

        {!! HTML::style(elixir('output/final.css')) !!}
        

        HTH

        【讨论】:

        • 当我尝试这个时,它会出错,说找不到类 HTML。有什么想法吗?
        • @Colin Stadig,是的,不幸的是,HTML 助手框架被排除在 Laravel 版本之一(5.1?)之外,您可以通过标准 调用它并将长生不老药位放入 { {}} 在刀片中,或通过在您的作曲家“require”块中包含:“laravelcollective/html”:“^5.2”来使用集体依赖项(顺便说一句,它非常出色,并且可以处理表单和 HTML 内容)。跨度>
        猜你喜欢
        • 2017-01-20
        • 2017-11-28
        • 1970-01-01
        • 2015-07-16
        • 1970-01-01
        • 2015-04-27
        • 1970-01-01
        • 2015-09-14
        • 1970-01-01
        相关资源
        最近更新 更多