Elixir版本公共路径

Gre*_*ory 9 laravel blade laravel-5 laravel-elixir

我正在尝试使用Elixir的version()方法,我的'public'文件夹是public_html(而不是默认的'public'方法).

我对我的css文件进行了编辑,该文件生成了一个build文件夹,其中包含public_html中的清单

elixir.config.cssOutput = 'public_html/css';
elixir.config.jsOutput = 'public_html/js';

elixir(function(mix) {

    mix.styles([
        'vendor/normalize.css',
        'app.css'
    ], null, 'public_html/css');

    mix.version('public_html/css/all.css');

});
Run Code Online (Sandbox Code Playgroud)

在我使用的刀片模板中

<link href="{{ elixir("css/all.css") }}" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

问题是elixir函数在'public/build'文件夹中搜索.如何更改此内容以便搜索public_html文件夹?

先感谢您

Maa*_*aaf 11

您忘记覆盖文件中的publicDir文件夹gulpfile.js,这会将文件夹指向buildelixir用于确定版本哈希的正确位置.

elixir.config.publicDir = 'public_html';
Run Code Online (Sandbox Code Playgroud)

完成后,您必须覆盖Laravel中的public_path,Laravel 5的推荐方法是转到index.php您的公共文件夹中:

$app = require_once __DIR__.'/../bootstrap/app.php';
Run Code Online (Sandbox Code Playgroud)

// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});
Run Code Online (Sandbox Code Playgroud)


Tra*_*ode 5

所有你需要做的就是这个

var elixir = require('laravel-elixir');
elixir.config.publicDir = 'public_html';
elixir.config.publicPath = 'public_html';
Run Code Online (Sandbox Code Playgroud)