0

我正在尝试通过 Laravel 5.4 中的 Mix(以前是 Elixer)(使用https://laravel.com/docs/5.4/mix )设置一个 SASS 到 CSS 编译器。一切正常,它可以编译,我可以通过 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 是否错误,或者..?谢谢你的任何答案。

4

2 回答 2

4

mix() 助手生成的路径是正确的。您的域应直接指向“公共”目录。“公共”目录上方的所有内容都不应通过 HTTP 访问(这不安全)。

因此,您需要创建新域(例如project.local)并将其指向 Laravel 的公共目录(例如/home/user/website/public/),或者只需更改 Web 服务器配置中的默认根路径(如果是 Apache,则为 DocumentRoot)。然后 URLhttp://project.local/css/app.css将起作用。

于 2017-03-02T19:58:05.157 回答
0

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

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

于 2021-04-09T09:57:03.793 回答