我有一个Laravel 8应用程序在Jetstream上运行,带有Inertia Js和VueJs 3。
当我运行时:npm运行prod
我收到这个错误:
Exception
Unable to locate Mix file: /css/app.css. (View: /var/www/html/mysite/resources/views/app.blade.php)
http://subdomain.mysite.com/
更改后:
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
至
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
和:
<script src="{{ mix('js/app.js') }}" defer></script>
至
<script src="{{ asset('js/app.js') }}" defer></script>
它运行良好。但这不是错的吗?使用混合而不是资产的优势是什么?
我也尝试过使用<link rel="stylesheet" href="{{ asset(mix('css/app.css')) }}">
,但它仍然不起作用。我收到同样的错误,说混合无法定位文件:/css/app.css
这是一个简单的Laravel应用程序,没有任何自定义。
我试着运行npm run prod
,希望页面大小更小,但我看到的页面大小与npm run watch
或npm run dev
(17Mb(相同。
有什么建议可以减少VueJs Laravel应用程序的页面大小吗?
更新
webpack.mix.js内容:
mix.js('resources/js/app.js', 'public/js').vue()
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
tailwindcss('tailwind.config.js')
])
.webpackConfig(require('./webpack.config'));
if (mix.inProduction()) {
mix.version();
}
mix-manifest.json内容:
{
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css"
}
修改以下语句:
@vite(['resources/css/application.css','resources/js/application.js'](
为此:
Css:link rel=";样式表";href="{{混合('css/app.css'(}}">
JavasScript:src="{{mix('js/app.js'(}}";推迟
在resources\views\layout 中的app.blade.php和guest.blade文件中