laravel链接到src的资产返回404

时间:2020-04-12 08:51:26

标签: laravel src

image

我具有此文件夹结构,我想访问资源中的文件。我正在做

<link href="{{ asset('sass/app.scss') }}" rel="stylesheet" />
<script src="{{ asset('js/app.js') }}" type="text/javascript"></script>

但是它说没有找到,所以我认为我需要添加resources,所以我尝试了

<link href="{{ asset('resources/sass/app.scss') }}" rel="stylesheet" />
<script src="{{ asset('resources/js/app.js') }}" type="text/javascript"></script>

仍然我两个文件的状态均为404。 enter image description here 更新:

我运行以下命令:

let mix = require('laravel-mix');

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

1 个答案:

答案 0 :(得分:2)

tl; dr :您需要运行npm run devnpm run watchnpm run prod才能将资产编译为“可用”的js / css文件。 / p>

您永远不应链接到resources文件夹中的资产,因为资产将不可用。 public文件夹中的任何内容都可以链接到。

在您的本地/开发环境中,运行npm run dev将资产编译到public文件夹中(请参阅项目根文件夹中的webpack.mix.js来确切地了解会发生什么)。如果您碰巧进行了许多更改,则可以运行npm run watch,这样就不必在每次更改后都键入npm run dev-如果检测到更改,资产将自动编译。

使用香草webpack.mix.js npm run devresources/assets/js/app.js编译到public/js文件夹中,将resources/assets/sass/app.scss编译到public/css文件夹中,使您{ {1}}和public/js/app.js-这些是您应链接到public/css/app.css文件中的文件:

.blade

您可以在“编译资产(混合)”文档链接上阅读更多内容:

https://laravel.com/docs/7.x/mix