Laravel 8 JetStream无法在npm run prod上找到Mix文件:/css/app.css



我有一个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 watchnpm 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文件中

最新更新