我试图通过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是错误的,还是......?谢谢你的任何答案。
答案 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') }}"/>