2017-02-05 15 views
7

Laravel 5.4では、資産をコンパイルし、資産のパイプラインを維持するためにMixが導入されました。ミックスのデフォルトは公開ディレクトリpublicになります。鉱山を含む多くの場合、私のパブリックディレクトリは他のものと呼ばれています。私の場合、それはpublic_htmlです。Laravel Mixでアンダースコアを含むものにパブリックパスを変更するにはどうすればよいですか?

アセットがコンパイルされるパブリックディレクトリを変更するにはどうすればよいですか?

私は webpack.min.js内のパスを変更しようとしている

elixir.config.publicPath = 'public_html/assets'; 
:これはと同じくらい簡単だったLaravel 5.3とエリクサーで

- public 
|- _html 
|-- assets 
|--- css 
|--- js 
|- fonts 

:残念ながら、これはにコンパイル

mix.js('resources/assets/js/app.js', 'public_html/assets/js') 
    .sass('resources/assets/sass/app.scss', 'public_html/assets/css'); 

私はMixの設定ファイルをチェックしましたが、ここでは何も分かりません。

注意:これはLAMMIXのnpmパッケージですので、index.phpファイルの補正とは関係ありません。

答えて

12

setPublicPathと呼ばれる文書化されていない(私が信じる)方法があります。出力からパブリックパスを省略することができます。 setPublicPathはアンダースコアでうまく再生します。

あなたは私たちに、このコードができLaravel 5.4では
mix.setPublicPath('public_html/'); 
mix.js('resources/assets/js/app.js', 'assets/js') 
    .sass('resources/assets/sass/app.scss', 'assets/css'); 
1

AppServiceProvider

Laravel 5.5では
public function register() 
{ 

    $this->app->bind('path.public', function() { 
     return base_path() . DIRECTORY_SEPARATOR .'public_html'; 
    }); 

} 
+1

を解決してきましたララヴェルミックスとは関係ありません。私の質問で述べたように、MixはNPMパッケージ(javascript)です。 – Mike

0

を私はこれは、このよう

mix.setPublicPath('public_html/') 
    .js('resources/assets/js/app.js', 'front/js') 
    .js('resources/assets/js/custom.js', 'front/js') 
    .sass('resources/assets/sass/app.scss', 'front/css') 
    .styles('resources/assets/css/custom.css', 'public_html/front/css/custom.css'); 
+1

これは受け入れられた回答と同じです。 – Mike

関連する問題