如何在 Laravel 中使用 app.js 和 app.css 修复错误 404?

Posted

技术标签:

【中文标题】如何在 Laravel 中使用 app.js 和 app.css 修复错误 404?【英文标题】:How to fix error 404 with app.js and app.css in Laravel? 【发布时间】:2020-03-07 15:20:24 【问题描述】:

我正在使用 Laravel 6 和 Bootstrap 4。

我做了一个小应用程序,我试图在 CSS 文件中更改正文的背景颜色,但我发现它不起作用。

于是我检查了开发者的工具,发现app.jscss/app.css

有两个错误

“加载资源失败:服务器响应状态为 404(未找到)”

我尝试在 CSS 路径前添加 "/",但失败了。

查看:

<!doctype html>
<html lang=" str_replace('_', '-', app()->getLocale()) ">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content=" csrf_token() ">

    <title> config('app.name', 'Laravel') </title>

    <!-- Scripts -->
    <script src=" asset('js/app.js') " defer></script>

    <!-- Fonts -->
    <link rel="dns-prefetch" href="//fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">

    <!-- Styles -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link href=" asset('css/app.css') " rel="stylesheet" type="text/css">


    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

</head>
<body style="overflow: hidden; ">
    <div id="app">
        @include('../inc/navbar')
        <main class="py-4">
            @yield('content')
        </main>
        <br>
        <br>
        <br>
        @include('../inc/footer')
    </div>
    </body>
</html>

CSS:

body 
    background-color: lightblue !important;

我想看看浅蓝色的身体,但由于某种原因它不起作用。你有什么想法吗?

【问题讨论】:

您在yourproject/public/css 中有一个app.css 文件,在yourproject/public/js 中有一个app.js 文件? app.css 文件位于 meetingapp/css/app.css 中,app.js 位于 meetingapp/resources/js/app.js... 但即使在资产中添加文件夹资源也不起作用。 【参考方案1】:

我试图在 css 文件中更改正文的背景颜色,但我发现它不起作用。

如果这是全新安装的 Laravel,您需要运行 npm install。安装所有前端资产(css、js 等)。如果您从未对 css 或 js 进行过任何更改,则需要在终端中运行以下命令:npm run devnpm run watch。 Here is more documentation 用于 Laravel Mix。

您不会想要触摸实际的.css 文件;每当资产编译时,它都会被覆盖。使用上面的命令会将所有.scss文件重新编译成.css

希望这会有所帮助!

【讨论】:

我安装了 npm 并创建了 npm run dev ... 现在两个错误消失了,但主体的背景颜色仍然是白色。此外,现在导航栏的下拉菜单不起作用......是否可能是 Popper 的问题? 您需要在resources/sass/app.scss(或您正在使用的任何.scss 文件中)更改背景颜色。然后重新运行npm run dev 重新编译css。如果您使用的是 Bootstrap,您可能需要单独拉入每个组件。或者查看有关如何从 Bootstrap 中提取完整 js 库的文档。 如果您使用符号链接将 index.php 放在 /var/www/your-site 中,请确保将 css 和 js 文件夹从 public 符号链接到 /var/www/your-site也是。【参考方案2】:

您需要编译资产。 (假设你已经安装了 npm)

运行

npm run prod - if production 

npm run dev  - if development

您还可以在编译资产之前更改文件resources/sass/_variables.scss 中的颜色。

【讨论】:

【参考方案3】:

这个错误说明app.jsapp.css的位置不正确:

"加载资源失败:服务器响应状态为404 (未找到)”

解决方案:

让你的 JS 目录结构如下:/public/js/app.js

让你的 CSS 目录结构如下:/public/css/app.css

【讨论】:

以上是关于如何在 Laravel 中使用 app.js 和 app.css 修复错误 404?的主要内容,如果未能解决你的问题,请参考以下文章

所有 Laravel 路由都暴露了。如果可能,如何将其移动到 app.js 或缩小

如何在 Laravel 7 中使用 Webpack.mix.js 使用多个 js?

如何使用 Laravel 8、Inertia.js 和 Vue3 定义全局变量?

如何使用 Laravel Mix 将 Vue 块文件放在 public/js 中?

如何在不创建组件的情况下从 laravel 刀片视图文件扩展 app.js 方法/数据/手表

如何将 laravel vue 站点部署到共享主机