laravel link 到资产 return 404 for src
laravel link to assets return 404 for src
我有这个文件夹结构,我想访问资源中的文件。所以我在做
<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。
更新:
我运行这个命令:
let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
tl;dr:您需要 运行 npm run dev
、npm run watch
或 npm run prod
将您的资产编译为"usable" js/css 个文件。
您永远不应该 link 您的 resources
文件夹中的资产,它们将不可用。 public
文件夹中的任何内容都可以 link 编辑。
在您的 local/dev 环境中 运行 npm run dev
将您的资产编译到 public
文件夹(请参阅项目根文件夹中的 webpack.mix.js
以准确了解发生什么了)。如果您碰巧做了很多更改,您可以 运行 npm run watch
代替,这样您就不必在每次更改后键入 npm run dev
- 如果检测到更改,您的资产将自动编译。
使用 vanilla webpack.mix.js
npm run dev
会将 resources/assets/js/app.js
编译到 public/js
文件夹,将 resources/assets/sass/app.scss
编译到 public/css
文件夹,让你使用 public/js/app.js
和 public/css/app.css
- 这些是您应该 link 到 .blade
文件中的文件:
<link href="{{ asset('css/app.css') }}" rel="stylesheet" />
<script src="{{ asset('js/app.js') }}" type="text/javascript"></script>
您可以在 "Compiling Assets (Mix)" 文档中阅读更多内容 link:
我有这个文件夹结构,我想访问资源中的文件。所以我在做
<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。
我运行这个命令:
let mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
tl;dr:您需要 运行 npm run dev
、npm run watch
或 npm run prod
将您的资产编译为"usable" js/css 个文件。
您永远不应该 link 您的 resources
文件夹中的资产,它们将不可用。 public
文件夹中的任何内容都可以 link 编辑。
在您的 local/dev 环境中 运行 npm run dev
将您的资产编译到 public
文件夹(请参阅项目根文件夹中的 webpack.mix.js
以准确了解发生什么了)。如果您碰巧做了很多更改,您可以 运行 npm run watch
代替,这样您就不必在每次更改后键入 npm run dev
- 如果检测到更改,您的资产将自动编译。
使用 vanilla webpack.mix.js
npm run dev
会将 resources/assets/js/app.js
编译到 public/js
文件夹,将 resources/assets/sass/app.scss
编译到 public/css
文件夹,让你使用 public/js/app.js
和 public/css/app.css
- 这些是您应该 link 到 .blade
文件中的文件:
<link href="{{ asset('css/app.css') }}" rel="stylesheet" />
<script src="{{ asset('js/app.js') }}" type="text/javascript"></script>
您可以在 "Compiling Assets (Mix)" 文档中阅读更多内容 link: