Laravel 5.4参考Mix CSS文件

时间:2017-03-02 19:40:30

标签: php laravel sass routes mix

我试图通过Laravel 5.4中的Mix(以前的Elixer)设置SASS到CSS编译器(使用https://laravel.com/docs/5.4/mix)。一切正常,它编译,我可以通过npm设置一个观察者,但通过 views / layout / app.blade.php 文件引用它,如:

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

不起作用。在我的浏览器中,它当然显示为:

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

这是错误的道路。它应该引用http://localhost/website/public/css/app.css,但是在上面的Mix代码中更改任何内容会产生Laravel错误。

Unable to locate Mix file: /website/public/css/app.css. 
Please check your webpack.mix.js output paths and try again.

我做错了什么?我是否需要在某处设置基本路径,我的.htaccess是错误的,还是......?谢谢你的任何答案。

2 个答案:

答案 0 :(得分:3)

mix()助手生成的路径是正确的。您的域名应直接指向&#34; public&#34;目录。以上所有内容&#34; public&#34;目录不应该通过HTTP访问(它不安全)。

因此,您需要创建新域(例如project.local)并将其指向Laravel的公共目录(例如/home/user/website/public/),或者只更改Web服务器配置中的默认根路径(DocumentRoot if阿帕奇)。然后,网址http://project.local/css/app.css将有效。

答案 1 :(得分:0)

webpack.mix.js 文件中配置您需要的文件 mix.js('resources/js/app.js', 'public/js') .postCss('resources/css/app.css', 'public/css', []); 在执行混合命令 npm run watch 之后。

然后你可以在任何你想要的地方添加你的css文件 <link rel="stylesheet" href="{{ asset('css/app.css') }}"/>