Chr*_*ris 20 php laravel laravel-mix
对于我的管理面板,我提取所有资产,包括manifest-json.jsto mix.setPublicPath(path.normalize('public/backend/')).
所有文件都正确添加到后端文件夹,manifest-json.js文件如下所示:
{
// all correct here
"/js/vendor.js": "/js/vendor.js",
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css",
"/js/manifest.js": "/js/manifest.js"
}
Run Code Online (Sandbox Code Playgroud)
问题是在使用时
{{ mix('backend/css/app.css') }}
Run Code Online (Sandbox Code Playgroud)
在我的刀片文件中,它看起来public/manifest-json.js而不是寻找它backend/manifest-json.js.
如何确保使用正确的manifest-json.js文件?
小智 23
我解决了运行此命令的问题
npm install
Run Code Online (Sandbox Code Playgroud)
然后
npm run production
Run Code Online (Sandbox Code Playgroud)
谢谢.
Gve*_*vep 16
在将laravel项目部署到服务器之后,我遇到了同样的异常 .它在localhost上运行得非常好,但经过大量研究后我找到了解决方案.如果在服务器上遇到此异常,则必须将公共路径绑定到public_html
只需转到app/Providers下,您将找到您的AppServiceProvider文件,并在boot()方法内部进行绑定,如下所示.
$this->app->bind('path.public', function() {
return base_path().'/../public_html';
});
Run Code Online (Sandbox Code Playgroud)
Har*_*hil 15
我和提问者有同样的问题:manifest does not exist为了解决它,我所做的是运行 2 个命令,如下所示:
npm install
Run Code Online (Sandbox Code Playgroud)
进而
npm run dev
Run Code Online (Sandbox Code Playgroud)
现在错误已解决。伊皮。
Chr*_*ris 11
我遇到的问题是mix()-helper函数默认查找manifest-json文件,/public/manifest-json.js所以如果你将该文件存储在任何其他目录级别,那么它将抛出该错误.
假设manifest-json文件存储在public/app/manifest-json.js,然后对于public/app/css/app.css你将使用的文件:
<link rel="stylesheet" href="{{ mix('css/app.css', 'app') }}">
Run Code Online (Sandbox Code Playgroud)
该mix()-helper功能允许第二个参数,清单文件的目录.只需在那里指定它,它将使用正确的清单文件.
小智 8
解决方法有3种,我总结一下上面同事说的:
问题是因为您在视图中使用 mix() 。
<link rel="stylesheet" href="{{ mix('dist/css/app.css') }}">
Run Code Online (Sandbox Code Playgroud)
解决方案1 将其更改为这样。
<link rel="stylesheet" href="{{ asset('dist/css/app.css') }}">
Run Code Online (Sandbox Code Playgroud)
解决方案 2 如果您没有 root 访问权限:
修改App\Providers\AppServiceProvider文件并将以下内容添加到boot()方法中。
$this->app->bind('path.public', function() {
return base_path().'/../public_html';
});
Run Code Online (Sandbox Code Playgroud)
解决方案3
如果您有 root 访问权限,请运行:
npm install & npm run dev
Run Code Online (Sandbox Code Playgroud)
在共享主机和laravel 5.6测试:做标准水平,如后说明的在这里 ; 需要两个级别:在app/Providers/AppServiceProvider.php:
$this->app->bind('path.public', function() {
return realpath(base_path().'/../public_html');
});
Run Code Online (Sandbox Code Playgroud)
并在public_html文件make .htaccess文件中包含内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
Run Code Online (Sandbox Code Playgroud)
来源:这里 这个文件在某些情况下变化最大.
这就是全部并解决了我的问题
我在 Laravel 包中遇到了同样的问题,它的资产没有发布:
这为我解决了这个问题:
php artisan vendor:publish --tag=telescope-assets --force
来源:https : //github.com/laravel/telescope/issues/136 https://github.com/laravel/telescope/issues/250
| 归档时间: |
|
| 查看次数: |
32042 次 |
| 最近记录: |