为什么Laravel9/Vite应用构建后找不到资源文件

问题描述 投票:0回答:4

建立资产后,

build
vite build

vite v3.0.3 building for production...
✓ 64 modules transformed.
public/build/manifest.json             0.28 KiB
public/build/assets/app.45719a2b.css   189.82 KiB / gzip: 26.83 KiB
public/build/assets/app.bbc97e91.js    117.98 KiB / gzip: 37.68 KiB

在新创建的 Laravel 9 项目中,我收到控制台错误消息

GET http://localhost:8001/public/build/assets/app.45719a2b.css net::ERR_ABORTED 404 (Not Found)
GET http://localhost:8001/public/build/assets/app.bbc97e91.js net::ERR_ABORTED 404 (Not Found)

两者都被报告为位于布局刀片中包含

的行
@vite('resources/js/app.js')

我已按照所有说明进行操作,以达到我能找到的目的,但无济于事,出现了相同的错误。 我已经按照说明重新设计了这个项目三次,但都出现了这个错误。

assets vite laravel-9
4个回答
3
投票

您需要设置

APP_URL
环境变量,才能正确运行
npm run build
命令。 如果您的项目使用本地服务器工具(即 Valet、Homestead、Laragon、Wamp 等),您需要像这样在
server
中添加
vite.config.js
部分,以便正确工作
npm run dev
命令:

import {defineConfig} from 'vite';
import laravel        from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/js/app.js',
                'resources/sass/app.scss'
            ],
            refresh: true,
        }),
    ],
    server: {
        https: false,
        host: 'yoursite.loc',
    },
});

1
投票

删除/public文件夹中的vite“hot”文件。 如果该文件存在,那么它将在开发/暂存模式下运行并使用 dev css/js 文件。

为了以防万一,我已将其添加到我的生产和阶段服务器更新脚本中: rm ./公共/热

并将其添加到我的 .gitignore 文件中:/public/hot


0
投票

解决方案

从 .env 文件中删除或注释这些值

# ASSET_URL="${APP_URL}"
# VITE_ASSET_URL="${APP_URL}"

并删除

public/hot
文件(如果存在)


-1
投票

我能够通过使用

php artisan serve
命令解决这个问题,这基本上意味着从 laravel 的内置服务器为我的网站提供服务。最初我使用了
php -S 0.0.0.0:$PORT public/index.php
导致了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.